0

我正在尝试使用 NSIS 安装程序在无交互模式下使用 NSIS 安装程序安装 VC_redist.x64_v14.27.29016.0.exe。这是代码:

nsExec::ExecToStack 'VC_redist.x64_v14.27.29016.0.exe /install /quiet /norestart'
    pop $0
    pop $1  

我正在使用 ExecToStack 来获取退出代码。

我的问题是:我可以确定 nsExec::ExecToStack 等到进程退出然后返回退出代码吗?ExecWaitnsExec::ExecToStack之间有区别吗?

在继续我的其余安装之前,我想知道 vcredist 可执行文件是否已成功安装。

在此处输入图像描述

4

1 回答 1

1

是的,nsExec 插件会等待子进程。然而,它不会等待超过其父进程的孙子进程。

nsExec 是为控制台应用程序设计的,您可能应该只使用ExecWait.

ExecWait '"$temp\redist.exe" /something /whatever' $0
DetailPrint "Exit code is $0"
于 2020-09-20T20:21:03.440 回答