我有一个从WIX脚本生成的MSI。
我的问题类似于question。
我想创建一个自定义卸载程序,而不是使用默认的MSI卸载程序。
我正在考虑添加一个在PublishProduct之后或InstallFinalize之前执行的自定义操作,该操作只会修改指定要使用的卸载字符串的注册表项。
我并不担心与SMS或类似产品的兼容性。
您对此方法有何看法?
答案 0 :(得分:4)
这不是那么简单。无论出于何种原因,ARP都不尊重MSI包上的UninstallString。因此,要更改它,您必须设置ARPSYSTEMCOMPONENT并验证您可能希望支持的所有各种升级和删除路径。希思·斯图尔特有一个与此相关的series of blog posts,它有助于列举可能的场景和常见问题。
我相信这个系列是在MSI 3.x时代编写的,因此很可能无法解决Windows Vista或更高版本上的任何新问题,并且无法利用MSI 4.5补丁卸载自定义操作标志。