Bonjour à tous, voici mon problème:
Afin d'alléger le poids de mon setup je souhaiterai ne plus embarquer le jre de java a l'intérieur mais le télécharger depuis un site distant si il n'est pas installé sur la machine cliente.
Voici ce que j'ai réussi a faire pour le moment (en m'inspirant, voire en copier/collant) a partir d'un autre topic de ce forum.
En gros, j'arrive a aller voir dans le registre si la version installé de java est supérieur à 1.5.
J'ai également trouvé dans ISTOOLS le moyen de lancer le téléchargement de java depuis un site distant juste avant de lancer l'install (avec la fonction NextClickButton) le pb c'est que dans ce cas, ca me lance le téléchargement systématique de java, or je voudrai ne le lancer que si java n'est pas installé.

Voici mon code, merci d'avance a tous ceux qui voudront bien se pencher sur mon problème.

Bonne journée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{10B9B870-1206-4511-AEA8-90EFCAE15E84}}
AppName=AutoBackup
AppVerName=AutoBackup 1.6
AppPublisher=SimsCoprs
DefaultDirName={pf}\AutoBackup
DefaultGroupName=AutoBackup
AllowNoIcons=true
OutputDir=E:\Mes Documents\eclipse\setup
OutputBaseFilename=setup_AutoBackup
SetupIconFile=E:\Mes Documents\eclipse\workspace perso\AutoBackup\Images\LogoPrincipal.ico
Compression=lzma
SolidCompression=true
;logo à utiliser sur la page d'acceuil du setup
;copyright Ruskof    164*313
WizardImageFile=E:\Mes Documents\eclipse\workspace perso\AutoBackup\Images\SetupAcceuil.bmp
;logo à utiliser dans les fenetre suivantes      111*113
WizardSmallImageFile=E:\Mes Documents\eclipse\workspace perso\AutoBackup\Images\SetupPetit.bmp
ShowLanguageDialog=auto
 
[Languages]
Name: french; MessagesFile: compiler:Languages\French.isl
 
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: Verficiation_Java; Description: Vérifie la presence de java; Flags: checkedonce; Check: NeedInstalljava
 
 
[Files]
Source: E:\Mes Documents\eclipse\workspace perso\AutoBackup\AutoBackup.jar; DestDir: {app}; Flags: ignoreversion
Source: E:\Mes Documents\eclipse\workspace perso\AutoBackup\AutoBackup.exe; DestDir: {app}; Flags: ignoreversion
Source: E:\Mes Documents\eclipse\workspace perso\AutoBackup\tasklist.exe; DestDir: {app}; Flags: ignoreversion
 
Source: E:\Mes Documents\eclipse\workspace perso\AutoBackup\Database\AUTOBACKUP.FDB; DestDir: {app}\Database; Flags: ignoreversion recursesubdirs createallsubdirs
Source: E:\Mes Documents\eclipse\workspace perso\AutoBackup\Database\script\database.sql; DestDir: {app}\Database\script; Flags: ignoreversion recursesubdirs createallsubdirs
Source: E:\Mes Documents\eclipse\workspace perso\AutoBackup\IniFile\*; DestDir: {app}\IniFile; Flags: ignoreversion recursesubdirs createallsubdirs
Source: E:\Mes Documents\eclipse\workspace perso\AutoBackup\lib\*; DestDir: {app}\lib; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: E:\Mes Documents\eclipse\jre-6u20-windows-i586-s.exe; DestDir: {app}\tools; DestName: jre-6u20-windows-i586-s.exe; Flags: ignoreversion
 
[Icons]
Name: {group}\AutoBackup; Filename: {app}\AutoBackup.exe
Name: {group}\{cm:UninstallProgram,AutoBackup}; Filename: {uninstallexe}
Name: {commondesktop}\AutoBackup; Filename: {app}\AutoBackup.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\AutoBackup; Filename: {app}\AutoBackup.exe; WorkingDir: {app}; Tasks: quicklaunchicon
 
 
 
[Run]
Filename: {app}\tools\jre6U21.exe; Description: {cm:LaunchProgram,Java}; Parameters: "/lang=1036 /s /v""/qf! IEXPLORER=1 MOZILLA=1 REBOOT=Suppress JAVAUPDATE=0 WEBSTARTICON=0 SYSTRAY=0"""; WorkingDir: {app}\tools; Flags: skipifdoesntexist postinstall shellexec skipifsilent; Languages: ; Check: NeedInstalljava
Filename: {app}\AutoBackup.exe; Description: {cm:LaunchProgram,AutoBackup}; Flags: shellexec postinstall skipifsilent; Tasks: ; Languages: 
[_ISToolDownload]
Source: http://ovh.dl.sourceforge.net/project/autobackupbysim/tools/jre-6u20-windows-i586-s.exe; DestDir: {app}\tools; DestName: jre6U21.exe
 
[ Code]
Var
  Versjava : string;
 java : boolean;
function InitializeSetup(): Boolean;
 
Begin
 
  Result := True;
  // recherche dans la BDR la version de java installé
  if (RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', Versjava) = true) then
      begin
         // si la version installée est inf ou = à v1.5 on install la v1.6
         if CompareStr(Versjava,'1.5') < 0  then
           java := False
          else
          java:=True;
 
      end;
end;
 
 
function NeedInstalljava(CurPage: Integer): Boolean;
 begin
 
    if (java=false) then
		begin
 
 
		Result := istool_download(CurPage);
 
		end;
    Result := java;
 
 end;
// Function generated by ISTool.
function NextButtonClick(CurPage: Integer): Boolean;
 
	begin
		if (java=false) then
		begin
		PageCourante:=CurPage;
		Result := istool_download(CurPage);
		end;
	end;