添加/删除程序(或程序和功能)控制面板小程序通常允许卸载或修复程序。
对于非MSI安装,当用户单击“更改”或“卸载”按钮时,很容易定义应该发生的事情。只需在注册表中设置适当的密钥(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<AppName>
)。
我的问题是如果使用MSI安装,如何使“更改”,“修复”和“卸载”按钮按照我的方式工作(例如,启动自定义程序)?
答案 0 :(得分:2)
如果您使用的是MSI,请按照MSI方式进行操作。
如果您想做不同的事情,请不要使用MSI。你会给自己带来许多麻烦,并且首先失去使用MSI的好处。
如果您需要在卸载期间运行自己的EXE,see my answer to this question并且只是否定条件。
MSI安装必须记住的一件事是用户界面可选,在安装或卸载过程中,您无法指望它显示。用户可能会使用MSIEXEC /X
删除应用程序,而不是单击ARP
如果您真的想“按照自己的方式”,那么我建议为MSI创建一个自举程序,安装MSI hide itself from Add/Remove Programs,然后使用注册表手动为自定义安装程序添加ARP条目你在上面指定的键。
答案 1 :(得分:0)
在MSI用语中,它将启动自定义操作(可以是.EXE)。 Windows安装程序有一个相当陡峭的学习曲线...并且通常试图让它“按照我的方式工作”是一个令人沮丧的捷径。
如果你走这条路,你应该看看Wix.sourceforge.net。它有一个非常活跃的用户社区,对Windows安装程序非常了解。