D.1 错误级别
优质
小牛编辑
134浏览
2023-12-01
像其它应用程序一样,由 NSIS 生成的安装程序执行时,会返回错误级别。如果你要用其它应用程序或安装程序调用一个 NSIS 安装程序,那么检查错误级别就会很有用。
- 0 - 正常执行 (没有错误)
- 1 - 安装被用户终止 (取消按钮)
- 2 - 安装由脚本终止
从 NSIS 2.01 以后,你可以使用 SetErrorLevel 自行设置错误级别。
需要注意的是卸载程序会把它本身复制到临时文件夹并从那里执行以使得原来的卸载程序可以被删除。这意味着卸载程序的执行进程的错误级别是无效的,除非它模拟该复制过程并执行复制的卸载程序。要模拟该过程,使用:
CopyFiles $INSTDIR\uninstaller.exe $TEMP ExecWait '"$TEMP\uninstaller.exe" _?=$INSTDIR' $0 DetailPrint "卸载程序设置错误级别为 $0"
如果你不这样做,那么你就只能知道卸载程序是否复制本身到临时文件夹失败。