如何在 C++ 中静默卸载 .exe

How to Uninstall .exe silently in c++

我有 UninstallString,我想静默卸载程序,这样就不会涉及用户交互。 我的 UninstallString 如下所示:

我已经把它们作为一个进程打开了,但是我不知道如何静默卸载它。

我有一些方法,比如找到 windows 然后发送 OK 击键,但我不知道该怎么做。

如果它是 windows 安装程序,那么我们可以使用类似...

 MsiExec.exe /I{GUID} /q 

但是以上UninstallString 的路径是.exe 怎么办

任何 help/Approaches 将不胜感激。

非常感谢。

静默卸载命令因安装程序而异。

例如,

如果安装程序是使用 Wix 工具集 构建的,它支持如下命令:/s、/S、/qn、/quiet。即,

UninstallString /quiet

对于基于 NSIS 的安装程序,/S .

对于基于 Install4j 的安装程序,-q .

对于,基于 Inno-setup 的安装程序,/SILENT,/VERYSILENT。

等等

您可以从 this 站点找到有关静默安装参数的详细信息。

另外,还有一个叫做WMIC的工具。有些人还指示使用它。 您可以从 this link 中找到它。 [虽然它对我不起作用]

正如 MAQ678 所说,有很多不同的安装程序类型。有时(大多数情况下不是,因为发布者很懒惰)如果包有 QuietUninstallString 条目,您可以在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 下的注册表中找到静默卸载开关。