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;
Partager