我正在制作一个 NSIS 脚本来检查是否安装了以前版本的应用程序。如果是这样,它会询问是否应该从这个以前的版本导入配置文件。所以我有一个全局变量配置文件,我试图在运行时根据用户选择“是”还是“否”来设置它。我遇到的问题是在编译时抱怨File:"${XMLConfigDir}*.xml" -> no files found。因为 XMLConfigDir 尚未设置。那么无论如何在运行时设置一个变量吗?
问问题
8392 次
2 回答
10
声明变量( 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命令行开关设置符号。
于 2012-08-15T16:51:59.873 回答
2
我的问题的解决方案是使用 CopyFiles 内置函数而不是 SetOutPath 后跟 File。
于 2012-08-17T12:25:33.493 回答