【问题标题】:Does nsExec::ExecToStack is waiting the process to finish?(NSIS)nsExec::ExecToStack 是否正在等待进程完成?(NSIS)
【发布时间】:2020-09-20 17:57:20
【问题描述】:

我正在尝试使用 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 可执行文件是否已成功安装,然后再继续进行其余的安装。

【问题讨论】:

  • 你真的应该在执行某事时使用完整路径。

标签: windows dll nsis vcredist


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 2012-07-27
    • 2010-11-06
    • 2011-11-09
    相关资源
    最近更新 更多