wix - 如何使用wixharvesting工具生成一致的GUID

标签 wix guid wix3.7

我是 WiX 的新手,所以这是一个愚蠢的问题。我试图使收获工具 (heat.exe) 生成的 GUID 与我正在打包的文件保持一致。大家似乎都说只要文件路径和子路径保持相同 heat.exe 就会为文件生成相同的 GUID。不幸的是,我没有看到这种行为。我的工作流程如下。

在构建过程中将所有可交付文件复制到暂存目录。然后运行staging目录下的heat.exe,生成组件片段wxs文件。在将文件复制到暂存目录之前,我会清除所有旧文件。

我想将生成的 wxs 文件添加到我的源代码管理中,以便我可以实现较小的升级。如果我的理解对我来说是正确的,那么我需要在我的构建中拥有一致的 GUID,以便我可以跟踪它们。

我用来生成wxs文件的命令行如下:-

c:\foobar\build\>C:\win32\wix-3.7.1224.0\heat.exe dir . -cg MyCG -dr INSTALLDIR -g1 -gg -nologo -sreg -suid -t C:\foobar\src\support\packaging\wix\foo.xslt -var var.foobarSource -out c:\foobar\src\support\packaging\wix\foo.wxs

我发现每次运行期间生成的 GUID 都不同。有没有办法让我保持 GUID 一致。

最佳答案

您应该指定 -ag 标志。

-ag
Auto generate component guids at compile time, e.g. set Guid="*".

只要文件路径相同,生成的文件 GUID 就会相同。

关于wix - 如何使用wixharvesting工具生成一致的GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20748544/

相关文章:

user-interface - WIX 相当于 C# 文本框?

c# - 不使用 Visual Studio 创建 Wix Bootstrapper

wix - CustomActionData 以分号分隔,导致字符串溢出 - 此解决方案的常见解决方法是什么?

wix - 安装文件会自动注册吗?

c# - Wix:无法使用自定义操作设置属性

xsd - 在 XSD 文件中使用 Guid 类型的正确方法是什么?

android - 我们可以在 Sqlite 数据库中使用 Guid 作为主键吗

oracle - Oracle中如何生成GUID?

wix - 在 Wix 安装程序中以管理员模式在 customAction 中运行 ExeCommand

service - 防止服务在 WiX 重大升级时丢失设置