如何使用wix收集工具生成一致的GUID

tux*_*lot 8 guid wix wix3.7

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

在构建过程中将所有可交付文件复制到临时目录.然后在暂存目录中运行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
Run Code Online (Sandbox Code Playgroud)

我看到每次运行时生成的GUID都不同.有没有办法让我保持GUID一致.

Ert*_*maa 10

你应该指定-ag标志.

-ag
Auto generate component guids at compile time, e.g. set Guid="*".
Run Code Online (Sandbox Code Playgroud)

只要您的文件路径相同,生成的GUID对于文件将是相同的.