2016-06-12 73 views
1

对于所有MsiPackage元素,我都有一个Wix刻录包,其Visible =“yes”。在新的安装或升级之后,正如所料,每个MSI软件包都会出现在“添加/删除程序”中,其中包括软件包条目。但是,当我在升级后修复该捆绑包时,意外地从“添加/删除程序”中删除了所有MSI条目。如果在全新安装后进行修复,则添加/删除程序中的所有条目均保持不变。Wix Bundle修复后缺少的添加/删除程序条目

我正在做的升级实际上并不是捆绑软件的以前版本。相反,一些MSI已经安装,并且该软件包升级了其中一些MSI。对于我们的客户来说,情况就是这样,因为我们已经发货了很长时间的MSI,但这是我们第一次计划运送烧录包。

有没有其他人看到这种意外的行为与维修?

我正在使用Wix Toolset版本3.10,并且我有一个托管引导程序应用程序。我不知道我的托管引导程序应用程序中的修复可能会导致此问题。也许这是一个烧伤的错误?

回答

0

答案是否定的。没有人可能会看到这个确切的修复问题。这是因为这个问题是由我们两个MSI中的非常具体和特殊的错误引起的。

例如,一个MSI曾在RemoveRegitryTable以下条目...

RemoveRegistry = RemoveIconRegKey 
Root = 2 
Key = Software\Microsoft\Windows\CurrentVersion\Uninstall\[UPGRADE_1]  
Name = - 
Component_ = RemoveIconRegKey 

...而且,维修期间,UPGRADE_1没有设置。

虽然这是一个bug,但我们多年来一直没有发现这个问题。我们现在正在切换到烧伤,问题是由烧伤修复的方式引发的。具体来说,刻录会设置REINSTALL属性。也就是说,只有在指定REINSTALL属性时,RemoveRegistryValues操作才会重新为已安装的组件重新运行。尽管重新运行该操作,但在修复过程中未设置UPGRADE_1属性,导致删除所有64位的添加/删除程序条目。

此外,我现在意识到,在安装单个MSI时,现在没有办法刻录可以消除所有添加/删除程序条目。我很确定,通过在命令行上将ARPSYSTEMCOMPONENT = 1传递给要隐藏的每个单独的MSI,刻录隐藏添加/删除程序条目。

+0

这不提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 - [来自评论](/ review/low-quality-posts/13563451) –

+0

行。我编辑了我的答案。希望现在更清楚。 – Gerhard

相关问题