我正在使用NSIS 2.46來構建一些安裝程序。作爲安裝程序構建過程的一部分,我需要使用!system
來運行一些命令(在這種情況下,一些Python/pip命令,儘管這不重要)。我希望能夠處理!system
返回非零值的情況(可能只需使用!error
來顯示消息並退出,雖然這又不重要)。如何檢測和處理NSIS編譯時錯誤?
如何從!system
訪問返回值以檢查錯誤?
我看過文檔,並在這裏和其他地方搜索,但還沒有找到任何答案。
我正在使用NSIS 2.46來構建一些安裝程序。作爲安裝程序構建過程的一部分,我需要使用!system
來運行一些命令(在這種情況下,一些Python/pip命令,儘管這不重要)。我希望能夠處理!system
返回非零值的情況(可能只需使用!error
來顯示消息並退出,雖然這又不重要)。如何檢測和處理NSIS編譯時錯誤?
如何從!system
訪問返回值以檢查錯誤?
我看過文檔,並在這裏和其他地方搜索,但還沒有找到任何答案。
在NSIS v2所有你能做的就是!system '"whatever" /whatever' = 0
,如果退出代碼不爲0
在v3中,編譯器將中止,也可以保存退出代碼中定義:
!system '"whatever" /whatever' code
!if ${code} > 666
!error "Ooops"
!endif
非常感謝!我想我一定誤解了文檔中的內容,這是我第一次閱讀它。 –
v2.46是舊的,你至少應該升級到v2.50。 – Anders
當你說你看過文檔時,你真的看過!系統的文檔嗎? – Anders