如何使用NSIS脚本在运行时读取属性文件?

时间:2012-09-19 06:19:24

标签: java nsis

我的 Java 项目中有一个 .property 文件。在该属性文件中有超过20个值。现在我想解析该属性文件并在运行时更改特定的属性值(即运行安装文件时)。我使用了以下代码

Section
    ${ConfigWrite} "C:resource\conf.properties" SET WEBSERVICE.URL=http://localhost:8080 $R0
    ;$R0=CHANGED
SectionEnd

运行exe文件后,属性文件中添加的属性如此

  SETSERVER.URL=http://localhost:8080

我不知道为什么SET字会出现在这个变量之前?

我的要求:

  1. 我需要在运行时为 SERVER.URL 属性赋值(在安装 exe 文件时)?

  2. 我需要替换 SERVER.URL 属性的值。但是使用上面在该文件中添加了一个新属性。

  3. 我在Windows平台上的 Eclipse 中使用了 NSIS插件

1 个答案:

答案 0 :(得分:1)

调用宏时缺少一些引号,也没有必要指定SET(在帮助示例中,SET实际上是DOS批处理文件中命令的一部分),我想最好在磁盘驱动器之后向路径添加反斜杠。

该doc声明语法为:

${ConfigWrite} "[File]" "[Entry]" "[Value]" $var

因此,您的电话必须是:

${ConfigWrite} "C:\resource\conf.properties" "WEBSERVICE.URL" "=http://localhost:8080" $0

请注意参数如何在参数名称WEBSERVICE.URL和值=http://localhost:8080之间拆分(请注意开头的等号)。

您也可以使目录动态化:

${ConfigWrite} "$INSTDIR\resource\conf.properties" "WEBSERVICE.URL" "=http://localhost:8080" $0
相关问题