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>
但是,我在编译期间收到此警告:
警告 LGHT1103:DefaultVersion '1.1.1' 用于没有版本的文件 'Eula.txt'。 此文件的任何条目都不会放在 MsiFileHash 表中。 对于未版本化的文件,指定与实际文件不同的版本可能会导致在修复或修补期间出现意外的版本控制行为。 版本化资源以消除此警告。
什么是版本非二进制资源的正确方法?