Sto creando un programma di installazione di Inno Setup per un'app jar. Quello che voglio fare adesso è controllare se java è presente prima di procedere con l'installazione. Così ho solo bisogno di essere sicuri gli utenti saranno in grado di eseguire:Verificare che Java sia presente prima di installare
java -jar my-app.jar
Quello che sto facendo in questo momento è:
[Code]
function InitializeSetup(): Boolean;
var
ErrorCode: Integer;
JavaInstalled : Boolean;
Result1 : Boolean;
begin
JavaInstalled := RegKeyExists(HKLM,'SOFTWARE\JavaSoft\Java Runtime Environment\1.6');
if JavaInstalled then
begin
Result := true;
end else
begin
Result1 := MsgBox('This tool requires Java Runtime Environment version 1.6 or newer to run. Please download and install the JRE and run this setup again. Do you want to download it now?',
mbConfirmation, MB_YESNO) = idYes;
if Result1 = false then
begin
Result:=false;
end else
begin
Result:=false;
ShellExec('open',
'http://javadl.sun.com/webapps/download/AutoDL?BundleId=33787',
'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;
end;
end;
end;
Le mie domande sono:
Is controllando il registro abbastanza per essere sicuro che la directory home di java sarà nel PERCORSO? (per essere in grado di eseguire "java" nella console)
Se è installata una versione superiore di java, quella chiave del registro esiste comunque o dovrò controllare per ogni versione superiore possibile?
Qualcuno ha un modo migliore per scaricare java di mostrare semplicemente un popup e portare gli utenti alla pagina di download?
Avete intenzione di richiedere Sun Java o avete intenzione di consentire qualsiasi versione (come BEA - erm, Oracle - JRokit)? – atk
Bella domanda. Mi limiterò a Sun Java poiché il mio strumento è basato sul supporto ufficiale e non voglio avere problemi futuri a causa di diverse implementazioni java. – Santi