我在WIX扩展实现中发现了一个问题。
一些WIX扩展标签将行写入CreateFolder表,例如, , 。正如官方MSI文档所说,如果补丁包含CreateFolder表中的新行,则可以Not uninstallable。我认为这样的扩展可以在不使用CreateFolder表的情况下实现。仅仅因为这些扩展的使用而阻止补丁卸载是非常糟糕的。有一个屏幕截图显示我的CreateFolder表在Orca.exe.
这是WIX中已知的问题吗?将来的版本会修复这个问题吗?
有关不可卸载补丁的详细信息,请参阅http://msdn.microsoft.com/en-us/library/aa372102(v=vs.85).aspx。
KeyPath:此值指向属于组件的文件或文件夹,安装程序使用该文件或文件夹来检测组件。它正在MSI的CreateFolder中创建条目,因为KeyPath在组件级别提供,以安装文件夹作为其密钥,因此您的补丁变得不可卸载。
在组件中最重要的一个文件上提供KeyPath。因此,它不会进入MSI的CreatFolder表,并且您的补丁变得不可安装。