某些WIX扩展标记将行写入CreateFolder表,导致Not-Uninstallable Patch

时间:2014-08-22 03:16:19

标签: wix windows-installer patch uninstall create-directory

我在WIX扩展实现中发现了一个问题。

某些WIX扩展程序标记会将行写入 CreateFolder 表格,例如 。正如官方MSI文档所述,如果补丁包含 CreateFolder 表中的新行,则补丁可以不可卸载。我认为可以在不使用 CreateFolder 表的情况下实现此类扩展。阻止补丁卸载真的很糟糕,因为这些扩展的使用。有一个screenshot在Orca.exe中显示我的 CreateFolder 表。

这是WIX中的已知问题吗?未来的版本会解决这个问题吗?

有关不可卸载修补程序的详细信息,请参阅http://msdn.microsoft.com/en-us/library/aa372102(v=vs.85).aspx

1 个答案:

答案 0 :(得分:0)

KeyPath:此值指向属于安装程序用于检测组件的组件的文件或文件夹。它正在MSI的CreateFolder中创建条目,因为KeyPath是在组件级别提供的,它将安装文件夹作为其密钥,因此您的补丁无法卸载。

在组件的一个文件中提供KeyPath,该文件对该组件最重要。因此,它不会进入MSI的CreatFolder表,并且您的补丁变得可以卸载。