如何为Wix捆绑包启用卸载并仍然将其隐藏在程序和功能中?

时间:2016-07-02 11:55:17

标签: wix windows-installer bootstrapper burn wix3.10

我不想在程序和功能中显示我的包。但卸载时应与MSI一起删除。为了隐藏包,我可以将disableModify属性设置为yes。这将隐藏捆绑包。但这将禁用捆绑包的卸载功能。那不是我想要的。因为如何从程序和功能中隐藏捆绑包并在卸载期间仍然将其卸载?请指教。

3 个答案:

答案 0 :(得分:1)

perspective of the bundle开始,没有“app”,只有0个或更多的包。

从软件包安装程序(例如.msi)的角度来看,没有软件包。它可以由0个或更多个软件包安装/引用和/或手动安装或其他系统安装。

卸载软件包会“破坏”软件包。它可以使用相同的软件包版本本身进行修复或卸载,但无法通过安装较低版本的软件包进行修复。

最直接的方法是从程序和功能中隐藏特定于应用程序的程序包,并让用户将程序包视为“应用程序”。 (您的捆绑包视为永久包裹的任何包裹通常不应被隐藏。)

答案 1 :(得分:0)

See this answer about handling MSI and MSP in bundles

这听起来像你正在追求的行为。

请注意,该答案适用于WiX 3.9或更高版本

答案 2 :(得分:0)

Visible =“ yes”将分别向您显示已安装的软件包。

<MsiPackage Id="Dependency1" SourceFile="your.msi" Cache="no" Visible="yes"  DisplayInternalUI="yes" EnableFeatureSelection="yes" />