command-line - 通过命令行 NSIS 安装程序更改变量

标签 command-line installation command-line-arguments nsis

我想通过命令行参数更改 NSIS 中的变量。我在文档中看到您可以更改全局变量,但不能在 NSIS 脚本中创建全局变量。

例如:如果我有

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

是否可以通过命令行参数更改示例变量字符串?

最佳答案

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

并作为 "MySetup.exe"/MyVar="Hello world" 执行

关于command-line - 通过命令行 NSIS 安装程序更改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45176685/

相关文章:

Visual Studio 中的 C 命令行参数

linux - 新鲜蛤蜊 : symbol lookup error: freshclam: undefined symbol: print_version, 版本 FRESHCLAM_PRIVATE

android - 如何在 Android UIAutomator -e 命令行参数中发送带空格的文本

unix - ImageMagick - 如何强制执行最小/最大高度/宽度?

command-line - jmeter 从命令行以无暂停模式启动

macos - 仅限优胜美地 psql

windows - GNU sed - 查找或替换空格或新行。为什么这不起作用? v3.02 与 v4.2

installation - 是否可以使用Professional Key激活office 2013试用版

c#-4.0 - 如何在setup工程中写入app.config并在程序中使用

java:查找程序名称,解析整数参数