在运行时设置变量

时间:2012-08-15 12:33:36

标签: nsis

我正在创建一个NSIS脚本,用于检查是否安装了以前版本的应用程序。如果是,则询问是否应从此先前版本导入配置文件。所以我有一个全局变量配置文件,我试图在运行时设置,具体取决于用户选择“是”还是“否”。我遇到的问题是编译它时抱怨文件:“$ {XMLConfigDir} *。xml” - >找不到文件。因为尚未设置XMLConfigDir。那么无论如何都要在运行时设置变量吗?

1 个答案:

答案 0 :(得分:9)

声明变量( Var 命令)和符号(使用!define 命令定义)之间存在差异:

Var /GLOBAL myVar ; This is variable -> use it as $myVar

!define mySymbol; This is symbol -> use it as ${mySymbol} 

试试这个:

!define XMLConfigDir "C:\some_path_to_XML\subdir\"

Section "Main Section" 
        File "${XMLConfigDir}*.xml"
SectionEnd

也可以在安装程序运行时使用 / D 命令行开关设置符号。