0

Java プロジェクト用の nsi ファイルを作成しました。テキスト ボックスを作成し、デフォルト値として指定しました。exe ファイルを実行すると、デフォルト値でテキスト ボックスが表示されます。プロパティファイルで.次の行コードを試しました

 InstallOptions::dialog "$PLUGINSDIR\sample.ini"
    ReadINIStr $0 "$PLUGINSDIR\sample.ini" "Field 1" State
    ${ConfigWrite} "$INSTDIR\resource\conf.properties" "AGENT.HOST" "=$0" $R0

しかし、変更された値はプロパティ ファイルに反映されます。これが反映されない理由がわかりません。誰でも私を助けることができますか?

4

1 に答える 1

0
!include LogicLib.nsh
!include TextFunc.nsh

Function pageConfig
InitPluginsDir

# For this example I generate the page directly with the precompiler, you probably want to use a real .ini file.
!tempfile SRCINI
!appendfile "${SRCINI}" "[Settings]$\nNumFields=1$\n"
!appendfile "${SRCINI}" "[Field 1]$\n"
!appendfile "${SRCINI}" "Type=Text$\n"
!appendfile "${SRCINI}" "Left=10$\nRight=100$\nTop=10$\nBottom=24"
File "/oname=$PluginsDir\cfgpage.ini" "${SRCINI}"
!delfile "${SRCINI}"

ClearErrors
${ConfigRead} "$INSTDIR\resource\conf.properties" "AGENT.HOST=" $0
${If} ${Errors}
    StrCpy $0 "DefaultHost.com"
${EndIf}
WriteIniStr "$PluginsDir\cfgpage.ini" "Field 1" "State" $0

InstallOptions::dialog "$PluginsDir\cfgpage.ini"
Pop $0
FunctionEnd

Function pageLeaveConfig
ReadINIStr $0 "$PluginsDir\cfgpage.ini" "Field 1" State
${If} $0 == ""
    MessageBox mb_iconstop "Please provide a host..."
    Abort
${EndIf}
${ConfigWrite} "$INSTDIR\resource\conf.properties" "AGENT.HOST=" "$0" $1
FunctionEnd


Page custom pageConfig pageLeaveConfig
于 2012-09-20T15:57:29.500 に答える