2012-09-19 91 views
0

我有.property文件在我的Java項目中。在那個屬性文件中有超過20個值。現在我想解析該屬性文件並在運行時更改特定的屬性值(即運行安裝文件時)。我用下面的代碼如何在運行時使用NSIS腳本讀取屬性文件?

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 property.but上面使用的值在該文件中增加了一個新的屬性。

我在使用NSIS插件的Eclipse在Windows平臺上。

回答

1

你在調用宏時缺少一些引號,也沒有必要指定SET(在幫助中的示例中,SET實際上是DOS批處理文件中的一個命令的一部分),我猜這樣會更好在磁盤驅動器之後向路徑添加反斜槓。

的文檔指出語法是:

${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 
+0

thanks.I認爲其工作fine.but安裝後WEBSERVICE.URL屬性值尚未replaced.still其遺體老value.I不知道爲什麼? – Ami

+0

@ILLA:您在'ConfigWrite'之後嘗試過'MessageBox MB_OK「result = $ 0」'嗎?它是否說明設置已更改? – Seki

+0

@ILLA:對不起,但我不明白你的意思。您詢問如何更改文件中的值。什麼是你提到的「源代碼路徑」?你也問你是否需要*動態定義這個值,或者你是否可以這樣做? – Seki