WIX生成的MSI的自定义卸载程序

时间:2009-12-01 10:31:09

标签: wix windows-installer uninstaller uninstallstring

我有一个从WIX脚本生成的MSI。

我的问题类似于question

我想创建一个自定义卸载程序,而不是使用默认的MSI卸载程序。

我正在考虑添加一个在PublishProduct之后或InstallFinalize之前执行的自定义操作,该操作只会修改指定要使用的卸载字符串的注册表项。

我并不担心与SMS或类似产品的兼容性。

您对此方法有何看法?

1 个答案:

答案 0 :(得分:4)

这不是那么简单。无论出于何种原因,ARP都不尊重MSI包上的UninstallString。因此,要更改它,您必须设置ARPSYSTEMCOMPONENT并验证您可能希望支持的所有各种升级和删除路径。希思·斯图尔特有一个与此相关的series of blog posts,它有助于列举可能的场景和常见问题。

我相信这个系列是在MSI 3.x时代编写的,因此很可能无法解决Windows Vista或更高版本上的任何新问题,并且无法利用MSI 4.5补丁卸载自定义操作标志。