【问题标题】: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”的消息框。有没有人解决这个问题?

谢谢

【问题讨论】:

    标签: installation nsis uninstallation


    【解决方案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。有没有可能?
    猜你喜欢
    • 2015-10-19
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多