有什么方法可以基于WIX .wxs项目文件中的字符串来生成GUID?
<Product Id="Seeded GUID from $(var.MajorVersion)$(var.MinorVersion)"
Name="PCMTec"
Language="1033"
Version="$(var.BuildVersion)"
Manufacturer="weeooowwwww"
UpgradeCode="This GUID never changes">
</Product>
目标是当我更改我的程序主要/次要版本(例如major.minor.built.revision)时,它会创建一个新的GUID,但是如果只有它没有的内置/修订版本号。
我可以手动执行此操作,但我应该可以自动执行此操作。
编辑:如果按下像这样的GUID,有什么问题吗?
&#34; 9AAADB83-ACF1-4DB8-BE8B-69C8061A $(var.GUIDInsert)&#34;
在0.35版本的情况下GUIDInsert将等于&#34; 0035&#34;。最后4个十六进制数字是节点ID的一部分(例如GUID的随机/唯一部分),这仍然符合GUID应该是什么?
例如,末尾附加的版本号 9AAADB83-ACF1-4DB8-BE8B-69C8061A的 0035
答案 0 :(得分:0)
这样做并没有什么本质上的错误,但是一旦你必须从9999翻到0000,它将无法实现。当然你可能永远不会达到这么多版本但仍需要考虑。当然,您只需将其更改为5位数即可。
但我想知道你为什么要这样做。甚至不应该这样做。该GUID应该代表“产品”。如果您使用不同的二进制文件(来自不同的构建版本/修订版本),那么生成的msi与之前构建的版本相同吗?
您尝试解决的问题是由使用Product Id="*"
自动生成的GUID引起的吗?