Skip to content
This repository has been archived by the owner on Jul 26, 2022. It is now read-only.

Commit

Permalink
Hopefully fix #221
Browse files Browse the repository at this point in the history
  • Loading branch information
binwiederhier committed Sep 9, 2014
1 parent 8782615 commit 8d90769
Showing 1 changed file with 24 additions and 28 deletions.
52 changes: 24 additions & 28 deletions gradle/innosetup/setup.iss.skel
Expand Up @@ -66,58 +66,54 @@ const
var
JavaHome: String;
JavaHomeSet: Boolean;
RegRootSearchPaths: TArrayOfString;

function InitializeSetup(): Boolean;
var
RegRootKey: Integer;
RegRootKey, i: Integer;
RegRootPath: String;
JavaVersion: String;
begin
SetArrayLength(RegRootSearchPaths, 4);
RegRootSearchPaths[0] := 'SOFTWARE\\Wow6432Node\\JavaSoft\\Java Development Kit';
RegRootSearchPaths[1] := 'SOFTWARE\\Wow6432Node\\JavaSoft\\Java Runtime Environment';
RegRootSearchPaths[2] := 'SOFTWARE\\JavaSoft\\Java Development Kit';
RegRootSearchPaths[3] := 'SOFTWARE\\JavaSoft\\Java Runtime Environment';

if IsWin64 then begin
RegRootKey := HKLM64;
RegRootPath := 'SOFTWARE\\Wow6432Node\\JavaSoft';
end
else begin
RegRootKey := HKLM;
RegRootPath := 'SOFTWARE\\JavaSoft';
end;

JavaHome := GetEnv('JAVA_HOME')
JavaHome := GetEnv('JAVA_HOME');

if JavaHome <> '' then begin
JavaHomeSet := True;
Result := True;
end
else begin
JavaHomeSet := False;
Result := False;

if RegValueExists(RegRootKey, RegRootPath + '\\Java Development Kit', 'CurrentVersion') then begin
RegQueryStringValue(RegRootKey, RegRootPath + '\\Java Development Kit', 'CurrentVersion', JavaVersion);
for i := 0 to GetArrayLength(RegRootSearchPaths)-1 do begin
RegRootPath := RegRootSearchPaths[i];

if RegValueExists(RegRootKey, RegRootPath, 'CurrentVersion') then begin
RegQueryStringValue(RegRootKey, RegRootPath, 'CurrentVersion', JavaVersion);

if RegValueExists(RegRootKey, RegRootPath + '\\Java Development Kit\\' + JavaVersion, 'JavaHome') then begin
RegQueryStringValue(RegRootKey, RegRootPath + '\\Java Development Kit\\' + JavaVersion, 'JavaHome', JavaHome);
Result := True;
end
else begin
MsgBox('Java path not set for JDK ' + JavaVersion + '. Please re-install Java.', mbInformation, MB_OK);
Result := False;
end
end
else if RegValueExists(RegRootKey, RegRootPath + '\\Java Runtime Environment', 'CurrentVersion') then begin
RegQueryStringValue(RegRootKey, RegRootPath + '\\Java Runtime Environment', 'CurrentVersion', JavaVersion);

if RegValueExists(RegRootKey, RegRootPath + '\\Java Runtime Environment\\' + JavaVersion, 'JavaHome') then begin
RegQueryStringValue(RegRootKey, RegRootPath + '\\Java Runtime Environment\\' + JavaVersion, 'JavaHome', JavaHome);
Result := True;
end
else begin
MsgBox('Java path not set for JRE ' + JavaVersion + '. Please re-install Java.', mbInformation, MB_OK);
Result := False;
if RegValueExists(RegRootKey, RegRootPath + '\\' + JavaVersion, 'JavaHome') then begin
RegQueryStringValue(RegRootKey, RegRootPath + '\\' + JavaVersion, 'JavaHome', JavaHome);

Result := True;
break;
end
end
end
else begin
MsgBox('Java is not installed on your computer.'#13#13'Please install Java from java.com try again.', MbError, Mb_Ok);
Result := False;

if Result = false then begin
MsgBox('Java is not installed on your computer.'#13'Please install Java from java.com try again.', MbError, Mb_Ok);
end
end
end;
Expand Down

0 comments on commit 8d90769

Please sign in to comment.