在我的组件的.wxs文件中,只有具有单个文件的组件,这是可生成的GUID的情况。 但在我看来,对于.msm(合并模块),应该明确指定组件的GUID。或者我可以自由使用Guid =“*”,那可以吗?
我试过了:<Component Guid="*">
<File Id="$(var.Logger.TargetFileName)" Source="$(var.Logger.TargetPath)" KeyPath="yes" />
</Component>
light 出错,
组件的密钥文件的路径没有植根于其中一个 标准目录(如ProgramFilesFolder)
...
我很困惑,因为这条路径植根于ProgramFiles :<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="ProductVendor" Name="$(var.BaseProductVendorDirectory)">
<Directory Id="BaseProductDirectory" Name="$(var.BaseProductName)">
<Directory Id="ConfiguratorDir" Name="Configurator" />
</Directory>
</Directory>
</Directory>
</Directory>
答案 0 :(得分:0)
您应该能够在具有根目录的合并模块中使用自动生成的GUID。但是,在修复bug http://wixtoolset.org/issues/3810/之前,WIX 3.6中引入的更改可能会使这变得不可能。
另见http://wixtoolset.org/issues/2353/。
还有http://sourceforge.net/p/wix/mailman/message/29956690/(点击查看整个帖子链接查看完整讨论)。