如何等待卸载程序完成?

Posted

技术标签:

【中文标题】如何等待卸载程序完成?【英文标题】:How to wait for uninstaller to finish? 【发布时间】:2011-03-16 11:17:41 【问题描述】:

使用 NSIS,我想启动一个卸载程序并等待它完成,然后再继续我的安装程序。问题是卸载程序会立即返回,即使我使用的是ExecWait

我在这里看到了这个页面:http://nsis.sourceforge.net/When_I_use_ExecWait,_it_doesn%27t_wait,其中提到了它发生的原因,然后提供了一些建议,但我无法让我的工作。

我正在尝试的代码是:

ExecWait '"C:\path\to\uninstall.exe" /NCRC' $0
MessageBox MB_OK "uninstaller returned $0"

在卸载程序启动的同时显示显示“卸载程序返回 0”的消息框。有没有人解决这个问题?

谢谢

【问题讨论】:

【参考方案1】:

您链接到的页面通常谈论 ExecWait,但它也链接到 When I use ExecWait uninstaller.exe it doesn't wait for the uninstaller,这是您正在寻找的 NSIS 特定信息(_?=c:\theinstalldir 告诉 nsis 卸载程序不要将自身复制到 % temp% 并在那里执行一个新的(非等待)副本)

【讨论】:

@Anders:我也有同样的问题。我正在尝试ExecWait '"C:\Program Files\My Program\unins000.exe" _?="C:\Program Files\My Program"'...但对我来说它不起作用。我还在末尾添加了MessageBox MB_OK 以交叉检查它是否正常工作,但在卸载过程之前会立即显示消息框。 @Anders:可能。我需要执行unins000.exe 并等待卸载过程完成。此外,我在我的安装程序的正常安装部分(而不是在 Uninstaller 中)使用ExecWait。有没有可能?

以上是关于如何等待卸载程序完成?的主要内容,如果未能解决你的问题,请参考以下文章

如何把电脑里面的2345安全卫士彻底卸载

如何彻底卸载vs2017

电脑上怎么彻底卸载软件

Inno Setup5 如何更改卸载图标(我做出来的安装程序和卸载的一样)我想把卸载图标换成别的。

InstallShield6.0 如何卸载已经制作完成的安装程序?

revit怎么卸载干净重新安装