如何在NSIS上使用变量include /获取另一个变量

时间:2013-08-18 17:29:46

标签: nsis

有没有提到变量包括文件?我的意思是

StrCpy $1 "bla.nsh"
!include $1

或者可能获得由另一个变量调用的变量的值,例如:

StrCpy $1 "EN"
StrCpy $2 ${LANG_${1}_WELCOME_MESSAGE}

感谢。

2 个答案:

答案 0 :(得分:3)

变量只能在运行时使用(在最终用户机器上运行),需要使用定义:

!define foo "bar"
!include "${foo}.nsh"

编辑:

如果要添加自定义翻译字符串,则应使用LangString指令,可以使用$(mystringid)在运行时访问langstring。

答案 1 :(得分:3)

实际上,安德斯是对的。想想看,当编译器编译代码时,需要知道它需要包含哪些文件和EXE文件。

关于变量,您只能使用定义。再次,因为当你编译时,编译器将编译所有需要的(使用中)变量/定义,你不能告诉他使用一个从未声明过的...它与服务器端语言有点不同,因为在这里你正在编译并将您的代码打包到EXE文件中,该文件在您的计算机中组装。