繁体   English   中英

从代码启动卸载程序

[英]Starting an uninstaller from code

我想在我的程序中添加一个“卸载”按钮,它将启动卸载程序以删除程序,然后立即退出。 什么是a)确定是否存在卸载程序的最佳方法,以及b)找到正确的卸载程序并启动它?

我可以以可靠的方式使用注册表吗? 我记得之前使用注册表来修复一些破坏的安装,并且认为我可以迭代条目并确定适当的条目,但我担心使用注册表可能不可靠和/或在所有系统上工作?

另一个想法是我实际上可以在安装过程中将卸载信息存储到注册表中,然后使用该信息以某种方式找到正确的卸载程序。 这似乎是最可靠的方法,但有没有我可以存储的标识符,然后我可以传回Windows Installer?

由于您使用Windows安装程序进行了此操作,我将假设您使用MSI分发应用程序。 也就是说,您可以从应用程序中调用msiexec / x {ProductCode}来初始化卸载。 您可以通过让安装程序写入应用程序可以读取的注册表项/值来获取产品代码,也可以在应用程序中对其进行硬编码或升级代码。 如果您对UpgradeCode进行硬编码,则必须调用Windows Installer API以找出该UpgradeCode的已安装ProductCode。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM