Installation 海关;“修理”;及;卸载";MSI安装程序的函数(从控制面板调用时)

Installation 海关;“修理”;及;卸载";MSI安装程序的函数(从控制面板调用时),installation,windows-installer,controlpanel,Installation,Windows Installer,Controlpanel,“添加/删除程序(或程序和功能)”控制面板小程序通常允许卸载或修复程序 对于非MSI安装,当用户单击“更改”或“卸载”按钮时,很容易定义应该发生什么。只需在注册表中设置相应的键(HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\) 我的问题是,如果使用MSI安装,如何使“更改”、“修复”和“卸载”按钮按我的方式工作(例如启动自定义程序)?用MSI的说法,这将启动自定义操作(可以是.EXE)。Win

“添加/删除程序(或程序和功能)”控制面板小程序通常允许卸载或修复程序

对于非MSI安装,当用户单击“更改”或“卸载”按钮时,很容易定义应该发生什么。只需在注册表中设置相应的键(
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\


我的问题是,如果使用MSI安装,如何使“更改”、“修复”和“卸载”按钮按我的方式工作(例如启动自定义程序)?

用MSI的说法,这将启动自定义操作(可以是.EXE)。Windows installer的学习曲线非常陡峭。。。一般来说,试图让它“按我的方式工作”是一条通往很多挫折的捷径


如果您正沿着这条路线前进,您应该查看Wix.sourceforge.net。它有一个非常活跃的用户社区,对windows installer非常了解。

如果您使用的是MSI,请使用MSI方式

如果你想做一些不同的事情,那么不要使用MSI。你会给自己带来很多麻烦,并从一开始就失去使用MSI的好处

如果您需要在卸载期间运行自己的EXE,只需取消条件即可

对于MSI安装,您必须记住的一点是,用户界面是可选的,您不能指望它在安装或卸载期间显示出来。用户可以使用
MSIEXEC/X
删除应用程序,而不是单击ARP中的按钮

如果你真的想“按你的方式做”,那么我建议为MSI创建一个引导程序,安装MSI,然后使用上面指定的注册表项为你的自定义安装程序手动添加一个ARP项