使用WIX进行非二进制文件版本控制

时间:2012-10-09 23:45:40

标签: wix wix3.5

似乎WIX文件中定义的所有二进制文件(.dll和.exe)都从Product元素继承了它们的版本和语言。所有其他文件(.ps1,.txt等)不继承该版本,并且在升级时不会被替换。我需要能够对非二进制文件进行版本控制,因此可以在升级时覆盖它们。一旦我在文件元素上设置DefaultVersion,一切正常,文件在升级时被替换。


<Component Id="Eula.txt" Guid="14285C13-A70C-474B-B2AE-06F68D4E170B">
   <File Id="Eula.txt" DiskId="1" Name="Eula.txt" Source="$(var.NeutralBinRoot)\" DefaultVersion="$(var.MsiProductVersion)"/>
</Component>

但是,我在编译期间收到此警告:

warning LGHT1103 : The DefaultVersion '1.1.1' was used for file 'Eula.txt' which has no version. 
No entry for this file will be placed in the MsiFileHash table. 
For unversioned files, specifying a version that is different from the actual file may result in unexpected versioning behavior during a repair or while patching. 
Version the resource to eliminate this warning.

版本非二进制资源的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

根据文档,您似乎需要使用CompanionFile属性并将其链接回原始程序集。我自己没有用过,所以不能100%说它是否有效但值得一试!