このページの指示に従って、JAVA_HOME のパスを更新しようとしていますが、 新しい値を設定した直後は、値が変更されていないようです。
これは私のコードです:
StrCpy $TemplateJavaPath "$INSTDIR\jdk1.7.0_03"
System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("JAVA_HOME", "$TempJavaPath").r0'
ReadEnvStr $R0 "JAVA_HOME"
MessageBox MB_OK $R0 ; The value is still C:\program Files\Java6...
ExecWait '"C:\test.bat" ;containing the single line echo %JAVA_HOME%, set to Java6...
PATH を使用して同じテストを行い、同じ結果が得られました。
何か案が ?