Windows installer 使用InnoSetup时,如何知道静默嵌套安装程序何时完成?

Windows installer 使用InnoSetup时,如何知道静默嵌套安装程序何时完成?,windows-installer,inno-setup,silent-installer,Windows Installer,Inno Setup,Silent Installer,我使用InnoSetup创建了一个软件套件安装程序,在执行时 显示供用户下载/安装的软件列表 下载所选软件并为用户静默安装 我正在使用inno下载插件下载软件 我正在使用ssInstall中的以下代码以静默方式安装每个软件: ShellExec(“”,ExpandConstant(“{tmp}\MirrorLink.exe”),“/VERYSILENT”,“”, SW_显示、ewNoWait、错误代码); 此解决方案工作正常,只是有些软件需要重新启动计算机才能正常工作。因此我实现了函数Need

我使用InnoSetup创建了一个软件套件安装程序,在执行时

  • 显示供用户下载/安装的软件列表
  • 下载所选软件并为用户静默安装
  • 我正在使用inno下载插件下载软件

    我正在使用
    ssInstall
    中的以下代码以静默方式安装每个软件:

    ShellExec(“”,ExpandConstant(“{tmp}\MirrorLink.exe”),“/VERYSILENT”,“”,
    SW_显示、ewNoWait、错误代码);
    
    此解决方案工作正常,只是有些软件需要重新启动计算机才能正常工作。因此我实现了
    函数NeedRestart():Boolean如果用户选择了需要重新启动的软件,则显示重新启动页面

    我的问题是,因为我不知道什么时候静默安装完成,我冒着一个机会,当软件处于安装过程中时,计算机将重新启动。我知道我可以在
    ssInstall
    中使用
    sleep()
    函数,但我认为它不能可靠地工作,因为某些计算机的安装时间可能比其他计算机长


    所以我的问题是,有没有更好的方法来检测静默安装是否已完成,以便我可以向用户显示NeedRestart页面?

    使用
    ewwaitUnterminated
    而不是
    ewNoWait
    等待子安装程序完成