gpt4 book ai didi

wix - 获取生成的 ProductCode 作为 Wix 中的变量

转载 作者:行者123 更新时间:2023-12-02 06:36:02 26 4
gpt4 key购买 nike

在我们的产品中,我们使用 Product Id="*"在 Wix 中告诉它为每个新版本生成一个新的产品代码。我们现在需要在安装期间将 MSI 的产品代码记录到我们的注册表项之一中。我们可以通过在“卸载”注册表项中循环查找我们的产品名称和版本来在运行时推断产品代码,但在安装时直接记录此信息会更清晰。

Wix 有没有办法告诉我什么 ProductCode它已生成以便我可以将其作为变量添加到 RegistryValue维克斯元素?

我猜没有,所以我尝试使用 <?define?>为所有问号设置一个变量 "????????-????-????-????-????????????"并在 Product 中使用了这个变量元素以及 RegistryValue元素。这适用于 Product element ok,它继续生成新的GUID,但是在RegistryValue element 这个变量在编译时不会扩展,这意味着注册表项只是添加了所有问号。

有没有纯粹的Wix方式来实现我想要的?我可以生成 ProductCode在 Wix 之外并让 Wix 元素将其用作环境变量,但这会给构建过程增加了额外的复杂性 - 其他可能会破坏的东西。如果我可以纯粹用 Wix 做到这一点,我会很高兴。

最佳答案

无论您在 @ProductCode 中输入什么,产品代码始终可用作属性。 .因此,以下内容应该适用于您的情况:

<RegistryKey Root="HKLM" Key="My Product">
<RegistryValue Name="TheProductCode" Type="string" Value="[ProductCode]" KeyPath="yes" />
</RegistryKey>

此外,它不仅可以放在注册表值中,还可以放在注册表项名称中:
<RegistryKey Root="HKLM" Key="$(var.RegistryRoot)\[ProductCode]">
...
</RegistryKey>

关于wix - 获取生成的 ProductCode 作为 Wix 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com