从 WIX 安装程序的程序集版本创建种子 GUID
Seed GUID creation from assembly version for WIX installer
有什么方法可以根据 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 版本(例如 major.minor.built.revision)时,它会创建一个新的 GUID,但是如果只有 built/revision 数字,它不会。
我可以手动执行此操作,但我应该可以自动执行此操作。
编辑:如果我这样修改 GUID 有什么问题吗?
“9AAADB83-ACF1-4DB8-BE8B-69C8061A$(var.GUIDInsert)”
在版本 0.35 的情况下,GUIDInsert 等于“0035”。最后 4 个十六进制数字是节点 ID 的一部分(例如 GUID 的 random/unique 部分)这仍然符合 GUID 应该是什么吗?
例如在末尾附加版本号
9AAADB83-ACF1-4DB8-BE8B-69C8061A0035
这样做本质上没有错,但一旦你必须从 9999 滚动到 0000,它最终会失败。当然你可能永远不会达到这么多版本,但仍然需要考虑。当然,您现在可以将其更改为 5 位数。
但我想知道您最初为什么要这样做。甚至不需要这样做。此 GUID 应该表示 "Product"。如果您使用不同的二进制文件(来自不同的 build/revision),那么生成的 msi 是否真的与早期构建的相同?
您是否正在尝试解决由 Product Id="*"
使用自动生成的 GUID 引起的问题?
有什么方法可以根据 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 版本(例如 major.minor.built.revision)时,它会创建一个新的 GUID,但是如果只有 built/revision 数字,它不会。
我可以手动执行此操作,但我应该可以自动执行此操作。
编辑:如果我这样修改 GUID 有什么问题吗?
“9AAADB83-ACF1-4DB8-BE8B-69C8061A$(var.GUIDInsert)”
在版本 0.35 的情况下,GUIDInsert 等于“0035”。最后 4 个十六进制数字是节点 ID 的一部分(例如 GUID 的 random/unique 部分)这仍然符合 GUID 应该是什么吗?
例如在末尾附加版本号 9AAADB83-ACF1-4DB8-BE8B-69C8061A0035
这样做本质上没有错,但一旦你必须从 9999 滚动到 0000,它最终会失败。当然你可能永远不会达到这么多版本,但仍然需要考虑。当然,您现在可以将其更改为 5 位数。
但我想知道您最初为什么要这样做。甚至不需要这样做。此 GUID 应该表示 "Product"。如果您使用不同的二进制文件(来自不同的 build/revision),那么生成的 msi 是否真的与早期构建的相同?
您是否正在尝试解决由 Product Id="*"
使用自动生成的 GUID 引起的问题?