nsExec :: ExecToStack是否正在等待过程完成?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一直等到进程退出,然后返回退出代码 ExecWait nsExec :: ExecToStack ??

有区别吗?

我想知道vcredist可执行文件是否已成功安装,然后再进行其余的安装。

enter image description here

解决方法

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

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

ExecWait '"$temp\redist.exe" /something /whatever' $0
DetailPrint "Exit code is $0"