[英]How to set different header bitmaps for different NSIS installer's pages?
[英]NSIS: How to use a paramter to build different installer
我想根據我設置參數的方式來不同地構建腳本。
我這樣稱呼我的腳本:
makensis test.nsi -DFLAG=10
或makensis test.nsi -DFLAG=8
。
我試圖像這里一樣使用它作為參數
${If} ${FLAG} == 10
...
${IfElse} ${FLAG} == 8
....
${Else}
!error "Set the Flag."
${IfEnd}
但是我仍然只收到錯誤消息。
我還嘗試使用文檔4.12中的GetParamters
。
include FileFunc.nsh
!insertmacro GetParameters
!insertmacro GetOptions
${GetParameters} $R0
ClearErrors
${GetOptions} $R0 -DFLAG= $0
!echo $R0
但是它只返回$R0
,而不返回值。 有什么錯誤,或者有什么策略?
首先,必須以makensis -DFLAG=8 test.nsi
身份執行它,因為參數的解析順序與傳遞它們的順序相同。
參數按順序處理。
makensis /Ddef script.nsi
與makensis script.nsi /Ddef
。
其次,您不能將${If}
與!error
混合使用,因為前者是運行時指令,而后者是編譯時指令。
使用!if ${FLAG} = 8
或!ifdef FLAG
。
GetParameters
返回傳遞給最終用戶系統而不是編譯器上的安裝程序的參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.