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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
| ; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
//activation des outils ISTOOLS
[_ISTool]
EnableISX=true
[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.8
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
[Files]
// a mettre OBLIGATOIREMENT pour permettre le telechargement des fichiers pendant le setup
Source: C:\Program Files\ISTool\isxdl.dll; Flags: dontcopy
////////////////////////////////////////////////////////////
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
[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}\AutoBackup.exe; Description: {cm:LaunchProgram,AutoBackup}; Flags: shellexec postinstall
[ Code]
Var
Versjava : string;
java_installe : boolean;
VersFirebird : string;
Firebird_installe : boolean;
Page: TWizardPage;
Lbl,Lbl1: TLabel;
downloadNeeded: boolean;
// Déclaration des procedure d'utilisation de la dll pour le telechargement
procedure isxdl_AddFile(URL, Filename: PChar);
external 'isxdl_AddFile@files:isxdl.dll stdcall';
function isxdl_DownloadFiles(hWnd: Integer): Integer;
external 'isxdl_DownloadFiles@files:isxdl.dll stdcall';
function isxdl_SetOption(Option, Value: PChar): Integer;
external 'isxdl_SetOption@files:isxdl.dll stdcall';
//définition des url des fichiers à telecharger
const
javaURL = 'http://ovh.dl.sourceforge.net/project/autobackupbysim/tools/jre-6u21-windows-i586-s.exe';
const
FirebirdURL = 'http://ovh.dl.sourceforge.net/project/autobackupbysim/tools/Firebird-2.0.3.12981-1-Win32.exe';
function InitializeSetup(): Boolean;
Begin
Result := True;
java_installe:=True;
firebird_installe:=True;
downloadNeeded:=False;
// 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
begin
java_installe := False
isxdl_AddFile(javaURL, ExpandConstant('{tmp}\jre6U21.exe'));
downloadNeeded := true
end;
end;
//si la cle java n'existe pas, il faut obligatoirement l'installer
if (RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', Versjava) = false) then
begin
java_installe := False
isxdl_AddFile(javaURL, ExpandConstant('{tmp}\jre6U21.exe'));
downloadNeeded := true
end;
if (RegQueryStringValue(HKLM, 'SOFTWARE\Firebird Project\Firebird Server\Instances', 'DefaultInstance', VersFirebird) = false) then
begin
//si la cle de firebird n'existe pas dans la BDR, on active son telechargement
firebird_installe := False
isxdl_AddFile(FirebirdURL, ExpandConstant('{tmp}\fbServer.exe'));
downloadNeeded := true;
end;
end;
function NextButtonClick(CurPage: Integer): Boolean;
var
hWnd: Integer;
ResultCode: Integer;
begin
Result := true;
if CurPage = 100 then //la valeur 100 correspond à l'ID de ma page où j'informe l'utilisateur que je verifie la presence de java et de firebird sur son ordi.
begin
//initialisation du Handle de connection (permet entre autre de recuperer la liste des fichiers a telecharger
hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));
// don't try to init isxdl if it's not needed because it will error on < ie 3
if downloadNeeded then
begin
//permet d'afficher des infos à destination de l'utilisateur
isxdl_SetOption('label', 'Téléchargement Supplèmentaires');
isxdl_SetOption('description', 'Java et/ou Firebird ont besoin d''être installé(s) sur votre ordinateur veuillez patienter...');
if isxdl_DownloadFiles(hWnd) = 0 then // le telechargement à échoué, on retourne "Faux"
Result := false;
end;
if (Result = true) and (java_installe = false) then // si le resultat du telechargement est ok est que java a besoin d'etre installé
begin
MsgBox('Java va maintenant s''installer, veuillez patienter...', mbInformation, MB_OK);
if Exec(ExpandConstant('{tmp}\jre6U21.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
// handle success if necessary; ResultCode contains the exit code
if not (ResultCode = 0) then //si resultCode n'est pas egal à 0, il y a eu une erreur ou bien l'utilisateur à arreter l'installation.
begin
MsgBox('Java est necessaire au fonctionnement du logiciel, si vous ne l''installez pas vous ne pourrez pas utiliser le logiciel ', mbInformation, MB_OK);
Result := true; //on autorise quand meme la poursuite de l'instalation
end;
end
else
begin
// handle failure if necessary; ResultCode contains the error code
MsgBox('Java n''a pas pu s''installer, il vous faudra l''installer manuellement avant de pouvoir utiliser votre logiciel. ', mbInformation, MB_OK);
Result := true; // on a pas reussi a lancer l'executable, mais on permet quand meme l'installation en prevenant l'utilisateur
end;
end;
if (Result = true) and (firebird_installe = false) then // si le resultat du telechargement est ok est que firebird a besoin d'etre installé
begin
MsgBox('Firebird va maintenant s''installer, veuillez patienter...', mbInformation, MB_OK);
if Exec(ExpandConstant('{tmp}\fbServer.exe'), '/silent', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
// handle success if necessary; ResultCode contains the exit code
if not (ResultCode = 0) then //si resultCode n'est pas egal à 0, il y a eu une erreur ou bien l'utilisateur à arreter l'installation.
begin
Result := true;
end;
end
else
begin
// handle failure if necessary; ResultCode contains the error code
Result := true; // on a pas reussi a lancer l'executable, mais on permet quand meme l'installation en prevenant l'utilisateur
end;
end;
end;
end;
// Procédure de construction des pages personnelles
procedure CreateTheWizardPages;
// variables locales
begin
{ TButton and others }
Page := CreateCustomPage(wpWelcome, 'Vérification Préalable', 'Vérification de la présence de Java ');
Lbl := TLabel.Create(Page);
Lbl.Top := ScaleY(8);
Lbl.Caption := 'En cliquant sur le bouton suivant,';
Lbl.AutoSize := True;
Lbl.Parent := Page.Surface;
Lbl1 := TLabel.Create(Page);
Lbl1.Top := Lbl.Top + Lbl.Height +ScaleY(8);
Lbl1.Caption := 'Nous allons vérifier pour vous la présence de Java et de Firebird sur votre ordinateur ';
Lbl1.AutoSize := True;
Lbl1.Parent := Page.Surface;
end;
procedure InitializeWizard();
begin
CreateTheWizardPages;
end; |
Partager