Como instalar o JRE com o Inno Setup e istool?

0 respostas
back-endwebprogramaçãodesenvolvimentojava
B

Pessoal, O script abaixo não esta instalando o jre, não da erro,roda aparentemente tudo normal, onde esta erro no script?

[Setup]
AppName=JRE Setup
AppVersion=0.1
DefaultDirName=JRE Setup

[Languages]
Name: english; MessagesFile: compiler:Default.isl

[Files]
Source: jre-8u101-windows-x64 .exe; DestDir: {app} C:; DestName: JREInstall.exe; Check: IsWin64 AND InstallJava()
Source: jre-8u101-windows-i586.exe; DestDir: {app} C:; DestName: JREInstall.exe; Check: (NOT IsWin64) AND InstallJava()

[Run]
Filename: {app} C:\jre-8u101-windows-i586.exe; Parameters: /s; Flags: nowait runhidden runascurrentuser; Check: InstallJava()

[Code]

procedure DecodeVersion (verstr: String; var verint: array of Integer);

var

i,p: Integer; s: string;

begin

// initialize array

verint := [0,0,0,0];

i := 0;

while ((Length(verstr) > 0) and (i < 4)) do

begin

p := pos (’.’, verstr);

if p > 0 then

begin

if p = 1 then s:= ‘0’ else s:= Copy (verstr, 1, p - 1);

verint[i] := StrToInt(s);

i := i + 1;

verstr := Copy (verstr, p+1, Length(verstr));

end

else

begin

verint[i] := StrToInt (verstr);

verstr := ‘’;

end;

end;

end;

function CompareVersion (ver1, ver2: String) : Integer;

var

verint1, verint2: array of Integer;

i: integer;

begin

SetArrayLength (verint1, 4);
DecodeVersion (ver1, verint1);

SetArrayLength (verint2, 4);
DecodeVersion (ver2, verint2);

Result := 0; i := 0;

while ((Result = 0) and ( i < 4 )) do

begin

if verint1[i] > verint2[i] then

Result := 1

else

if verint1[i] < verint2[i] then

Result := -1

else

Result := 0;

i := i + 1;

end;

end;
function InstallJava() : Boolean;

var

ErrCode: Integer;

JVer: String;

InstallJ: Boolean;

begin

RegQueryStringValue(HKLM, ‘SOFTWARE\JavaSoft\Java Runtime Environment’, ‘CurrentVersion’, JVer);

InstallJ := true;

if Length( JVer ) > 0 then

begin

if CompareVersion(JVer, ‘1.8’) >= 0 then

begin

InstallJ := false;

end;

end;

Result := InstallJ;

end;

E
Criado 24 de outubro de 2016
Respostas 0
Participantes 1