2017-07-18 3 views
2

Je souhaite modifier les variables dans NSIS via des arguments de ligne de commande. Je vois dans la documentation que vous pouvez changer les variables globales, mais pas celles créées dans le script NSIS.Modifier les variables via la ligne de commande du programme d'installation NSIS

Par exemple: si j'avais

Var example 
StrCpy $example "C:\Program Files (x86)\Installer" 

Est-il possible de changer l'exemple variable chaîne par des arguments de ligne de commande?

Répondre

3
OutFile "MySetup.exe" 
Name "MySetup" 
RequestExecutionLevel user 

!include FileFunc.nsh 
!include LogicLib.nsh 

Var MyVar 

Function .onInit 
StrCpy $MyVar "Default value" 

${GetParameters} $0 
ClearErrors 
${GetOptions} $0 "/MyVar=" $1 ; Get suffix after "/MyVar=" switch 
${IfNot} ${Errors} 
    StrCpy $MyVar $1 
${EndIf} 
FunctionEnd 

Section 
MessageBox mb_OK MyVar:$MyVar 
SectionEnd 

et exécuter comme "MySetup.exe" /MyVar="Hello world"