Dodawanie do @ odpowiedź Joni, można dostać katalog instalacyjny Java z rejestru i używać stałych skryptu aby ustawić zmienną środowiskową:
(EDIT: dzięki @TLama do korekty kodu)
[Registry]
Root: HKCU; Subkey: "Environment"; ValueType:string; ValueName:"JAVA_HOME"; ValueData:"{code:GetJava32Path|6}"; Flags: preservestringtype
[Code]
const
RegKeyJRE = 'SOFTWARE\JavaSoft\Java Runtime Environment\';
function GetJava32Path(MinVersion: string): string;
var
I: Integer;
Path: string;
Versions: TArrayOfString;
begin
Result := '';
if RegGetSubkeyNames(HKLM, RegKeyJRE, Versions) then
for I := 0 to GetArrayLength(Versions)-1 do
if (Versions[I][2] = '.') and (Versions[I][3] >= MinVersion) and
RegQueryStringValue(HKLM32, RegKeyJRE + Versions[I], 'JavaHome', Path) then
begin
Result := Path;
Exit;
end;
end;
(NB jestem daleko od bycia ekspertem Pascal-skrypt, kod może być dużo lepiej, chociaż teraz to zostało poprawione przez @TLama :))
nie środowisko wykonawcze Java instalator już to zrobić ? – Deanna