鉴于同一个wix安装程序的两个版本,我正在尝试进行小的升级(相同的升级和产品代码,版本递增)但有问题。它包括两个功能,每个功能我添加了一个文件。
这些功能看起来基本上是这样的:
<Feature Id="Sample1_Feature" Title="Sample1" Level="1" AllowAdvertise="no" Absent="allow" InstallDefault="local">
<ComponentGroupRef Id="Sample1ProjectOutput"/>
</Feature>
<Feature Id="Sample2_Feature" Title="Sample2" Level="1" AllowAdvertise="no" Absent="allow" InstallDefault="local">
<ComponentGroupRef Id="Sample2ProjectOutput"/>
</Feature>
在初始安装中,组件组中的所有文件都会在日志文件中安装这些行:
MSI (s) (AC:D4) [10:26:58:083]: Feature: Sample1_Feature; Installed: Absent; Request: Local; Action: Local
和
MSI (s) (AC:D4) [10:26:58:083]: Feature: Sample2_Feature; Installed: Absent; Request: Local; Action: Local
但是,在升级期间,已安装Sample2的添加文件,但未添加Sample1的添加文件。这是我在日志文件中注意到的一个区别:
MSI (s) (AC:B8) [10:38:08:682]: Feature: Sample1_Feature; Installed: Advertise; Request: Reinstall; Action: Reinstall
和
MSI (s) (AC:B8) [10:38:08:682]: Feature: Sample2_Feature; Installed: Local; Request: Reinstall; Action: Reinstall
我认为未安装Sample1中丢失的文件,因为“Installed:”值为Advertise。我不明白的是为什么一个是广告而Sample2是(正确)本地。如您所见,这两个功能都不允许广告。
对于为什么会发生这种情况,我将不胜感激。
提前致谢。
答案 0 :(得分:2)
看看希思·斯图尔特的this post。他解释了为什么可能存在类似于你所拥有的情况。如果您的问题仍然无法根据此信息缩小,您仍然可以在最后一段中找到有用的建议(关于MSIENFORCEUPGRADECOMPONENTRULES属性)。
此外,another advice from Heath如何在意外广告发生后修复产品。希望这会有所帮助。