当安装程序以静默模式调用卸载程序时,如何在NSIS安装期间显示进度?

当安装程序以静默模式调用卸载程序时,如何在NSIS安装期间显示进度?,nsis,Nsis,我有一个NSIS安装程序,它通过这个命令卸载旧版本 ExecWait“$INSTDIR\temp\uninstall.exe/S”=$INSTDIR” 安装程序应该等待旧版本的卸载完成,然后继续新的安装。问题是,用户很长一段时间都看不到安装窗口中的任何进度(卸载程序必须删除一些大目录,因此需要自己的时间) 我们不想删除/S开关,因为它将弹出卸载程序窗口,用户必须单击几下才能继续卸载并最终关闭卸载程序 在静默模式下执行卸载程序时,是否可以在安装程序窗口中显示一些进度?使用/S时,无法获得反馈。您可

我有一个NSIS安装程序,它通过这个命令卸载旧版本

ExecWait“$INSTDIR\temp\uninstall.exe/S”=$INSTDIR”

安装程序应该等待旧版本的卸载完成,然后继续新的安装。问题是,用户很长一段时间都看不到安装窗口中的任何进度(卸载程序必须删除一些大目录,因此需要自己的时间)

我们不想删除
/S
开关,因为它将弹出卸载程序窗口,用户必须单击几下才能继续卸载并最终关闭卸载程序


在静默模式下执行卸载程序时,是否可以在安装程序窗口中显示一些进度?

使用/S时,无法获得反馈。您可以做的是创建自己的参数并调整卸载程序:

!include FileFunc.nsh

UninstPage uninstConfirm un.skipifsilentprogress
UninstPage instFiles

Function un.skipifsilentprogress
ClearErrors
${GetParameters} $0
${GetOptions} "$0" "/UIS" $1
${IfNot} ${Errors}
    SetAutoClose true ;Make sure user does not have to click close
    Abort
${EndIf}
FunctionEnd

Section uninstall
Detailprint uninstalling...
Sleep 555
Sleep 555
Sleep 555
SectionEnd

并使用特殊的/UIS开关运行它…

使用/S时无法获得反馈。您可以做的是创建自己的参数并调整卸载程序:

!include FileFunc.nsh

UninstPage uninstConfirm un.skipifsilentprogress
UninstPage instFiles

Function un.skipifsilentprogress
ClearErrors
${GetParameters} $0
${GetOptions} "$0" "/UIS" $1
${IfNot} ${Errors}
    SetAutoClose true ;Make sure user does not have to click close
    Abort
${EndIf}
FunctionEnd

Section uninstall
Detailprint uninstalling...
Sleep 555
Sleep 555
Sleep 555
SectionEnd

并使用特殊的/UIS开关运行…

谢谢!将尝试使用自定义开关。谢谢!将尝试使用自定义开关。