升级WIX功能树中的单个功能而不修复其他功能

时间:2017-05-03 09:31:14

标签: installation wix windows-installer installer setup-project

我正在使用Wix 3.10构建MSI安装程序。安装后,用户可以执行三个操作 - 更改,修复和卸载。安装程序包含多个功能。存在这样的情况:在一个(或多个)特征中存在变化并且存在其他特征(没有变化)。用户希望使用“整个功能将不可用”行通过功能树删除其中一个未触摸的功能,并保留修改后的功能。默认情况下,将为所有功能安装“将安装在本地硬盘驱动器上”行,安装程序会修复已更改的功能。如何在安装后运行时默认情况下安装程序没有修复功能。只有当用户选择修复功能时,安装程​​序才会修复所需的功能。

任何帮助都会得到满足,

谢谢!

1 个答案:

答案 0 :(得分:0)

您提及的功能没有更改和修改后的功能。如果这意味着已安装的产品已更改或删除了文件或注册表项,那么阻止它们被修复的方法是给它们一个null ComponentId并自己管理它们。正如它在这里所说:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa368007(v=vs.85).aspx

来自该对话框的修复会修复整个产品。

然而,应用程序和安装也需要更好的集成,以便不安装然后删除资源,从而导致以多种方式进行修复的可能性。