在添加/删除程序 (或程序和功能 )控制面板程序通常允许卸载或修复程序。
对于非MSI安装可以很容易地确定应该发生什么,当用户点击“更改”或“卸载”按钮。 只需设置合适的键在注册表( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<AppName>
)。
我的问题是如何使“更改”,“修复”和“卸载”按钮的工作我的方式(如启动自定义程序),如果使用MSI安装?
在添加/删除程序 (或程序和功能 )控制面板程序通常允许卸载或修复程序。
对于非MSI安装可以很容易地确定应该发生什么,当用户点击“更改”或“卸载”按钮。 只需设置合适的键在注册表( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<AppName>
)。
我的问题是如何使“更改”,“修复”和“卸载”按钮的工作我的方式(如启动自定义程序),如果使用MSI安装?
如果您使用的是MSI,做到这一点的MSI方式。
如果你想要做不同的事情,那么就不要使用MSI。 你就会给自己很多很多的头痛和失去在第一时间使用MSI的好处。
如果您需要在卸载过程中运行自己的EXE, 看到我的回答这个问题 ,只是刚刚否定了条件。
你有一个MSI安装要记住的一件事是,用户界面是可选的 ,你不能指望它被要么在安装或卸载显示。 用户可能会删除与应用MSIEXEC /X
,而不是点击ARP按钮
如果你真的想“做你的方式”,那么我建议创建的MSI引导程序,具有MSI安装从添加隐藏自身/删除程序 ,然后使用注册表项手动添加的ARP表项为您的自定义安装程序您在上面指定。
在MSI用语将被拉开定制操作(其可以是.EXE)的。 Windows安装有一个非常陡峭的学习曲线...一般试图使其“适合我的方式”是一个捷径很多无奈。
如果你的方向沿着这条路,你应该看看Wix.sourceforge.net。 它有一个非常活跃的用户社区,深感知识渊博的有关Windows安装程序。