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

使用WIX进行非二进制文件版本控制,wix,wix3.5,Wix,Wix3.5,WIX文件中定义的所有二进制文件(.dll和.exe)似乎都从Product元素继承其版本和语言。所有其他文件(.ps1、.txt等)不会继承该版本,升级时也不会被替换。我需要能够版本的非二进制文件,所以他们可以被覆盖升级。一旦我设置了file元素,一切正常,文件在升级时被替换 <Component Id="Eula.txt" Guid="14285C13-A70C-474B-B2AE-06F68D4E170B"> <File Id="Eula.txt" DiskId=

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


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

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

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

如果有一个可链接的配套文件,这一切都很好。我正在为包含Access.MDE文件的产品构建安装工具包。在目标计算机上,Access每次打开每个.MDE文件时都会对其进行更新,无论其是否更改。这将防止它被补丁替换。我能找到的强制替换.MDE文件的唯一方法是使用DefaultVersion。它似乎工作得很好,但我确实收到了LGHT1103警告,我决定我必须接受它。如果有人真的找到了抑制它的方法,我很想听听。如果有一个配套文件可以链接的话,这一切都很好。我正在为包含Access.MDE文件的产品构建安装工具包。在目标计算机上,Access每次打开每个.MDE文件时都会对其进行更新,无论其是否更改。这将防止它被补丁替换。我能找到的强制替换.MDE文件的唯一方法是使用DefaultVersion。它似乎工作得很好,但我确实收到了LGHT1103警告,我决定我必须接受它。如果有人真的想办法压制它,我很想听听。