2017-02-23 23 views
0

我正在使用NSIS 2.46來構建一些安裝程序。作爲安裝程序構建過程的一部分,我需要使用!system來運行一些命令(在這種情況下,一些Python/pip命令,儘管這不重要)。我希望能夠處理!system返回非零值的情況(可能只需使用!error來顯示消息並退出,雖然這又不重要)。如何檢測和處理NSIS編譯時錯誤?

如何從!system訪問返回值以檢查錯誤?

我看過文檔,並在這裏和其他地方搜索,但還沒有找到任何答案。

+0

v2.46是舊的,你至少應該升級到v2.50。 – Anders

+0

當你說你看過文檔時,你真的看過!系統的文檔嗎? – Anders

回答

1

在NSIS v2所有你能做的就是!system '"whatever" /whatever' = 0,如果退出代碼不爲0

在v3中,編譯器將中止,也可以保存退出代碼中定義:

!system '"whatever" /whatever' code 
!if ${code} > 666 
!error "Ooops" 
!endif 
+0

非常感謝!我想我一定誤解了文檔中的內容,這是我第一次閱讀它。 –