Je crée un programme d'installation Inno Setup pour une application jar. Ce que je veux faire maintenant est de vérifier si java est présent avant de procéder à l'installation. Donc, je dois seulement être sûr que les utilisateurs seront en mesure d'exécuter:Vérifier que Java est présent avant l'installation
java -jar my-app.jar
Ce que je fais en ce moment est:
[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;
Mes questions sont les suivantes:
Est vérifiant le registre assez pour être sûr que le home dir de java sera dans le PATH? (pour pouvoir exécuter "java" dans la console)
Si une version supérieure de Java est installée, cette clé dans le registre existera-t-elle quand même ou je devrai vérifier chaque version supérieure possible?
Quelqu'un a-t-il une meilleure façon de télécharger java que de simplement afficher un popup et amener les utilisateurs sur la page de téléchargement?
Avez-vous l'intention d'exiger Sun Java, ou avez-vous l'intention d'autoriser une version (comme BEA-erm, Oracle-JRokit)? – atk
Belle question. Je vais m'en tenir à Sun Java car mon outil est basé sur le support officiel et je ne veux pas avoir de problèmes futurs à cause des différentes implémentations java. – Santi