Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/11/2005, à 11:58

Black_pignouf

Inno setup

Bonjour à tous!

<3615 mavie>
Au boulot, on utilise un programme de LCA-LCC (sous windows) de composants électroniques de voitures.
Mais l'installation de ce programme est très sale, et il faut passer par la base de registres et copier des fichiers à la main.
Je me suis dit: Vite, je download un trial de InstallShield, un pti tour sur Cracks.am, et je crée une jolie ptite install pour le programme! (10 ans sous windows et sans sous, ca ne s'oublie pas aussi vite)
C'était sans compter mon expérience Ubuntuienne, et je me suis dit: eh! ca se trouve y un programme open-source qui pourrait régler mon problème.
</3615 mavie>

tout ca pour dire, je voulais juste vous recommander un pti programme:

Inno setup
http://www.jrsoftware.org/isinfo.php

(bon ok, c'est pour windows, mais c'est du libre).
c'est propre, c'est beau, c'est pratique et puissant. Voilà

Exemple de code source:

[Setup]
;Copy files from the parent directory of this code source "Sees.ini".
SourceDir="..\"
OutputDir="Inno files\Output\"
VersionInfoVersion=05.11.13


;Name of the program
AppName=SEES
AppVerName=SEES software - Version 1.43
DefaultDirName={pf}\Sees_1.43
DefaultGroupName=SEES

;Use the existing (if any) SEES folder
UsePreviousAppDir=yes

;Define icon
UninstallDisplayIcon={app}\img\SEES.ico

;Define icon for setup file
;SetupIconFile=..\img\SEES.ico


;just choose "none" compression to test the build process. It´s faster
;But use lzma/max for the final build. It´s better
;Compression=none
Compression=lzma/max
SolidCompression=yes

;Display an ugly window behind the setup. But it can display copyright :
;WindowVisible=yes
;AppCopyright=Copyright (C) by black_pignouf

WizardImageFile="Inno files\SEES-logo.bmp"




[Files]


;Backup
Source: "{app}\sees_db_D11.mdb"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall
Source: "{app}\sees_db_051108.mdb"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall
Source: "{app}\sees_db_051113.mdb"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall


Source: "{app}\sees_db_D11.ldb"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall
Source: "{app}\sees_db_051108.ldb"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall
Source: "{app}\sees_db_051113.ldb"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall
Source: "{app}\sees.log"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall

;Install every file, except SETUP.exe, Uninstall and backup files
Source: "*"; DestDir: "{app}" ; Excludes: "Output\*, unins*.*, backup\*, sees.log, sees_db_051113.mdb" ; Flags: recursesubdirs
Source: "sees.log"; DestDir: "{app}"; Flags: uninsneveruninstall
Source: "sees_db_051113.mdb"; DestDir: "{app}"; Flags: uninsneveruninstall



[Registry]
; Install sees database D11-05.11.13, like described in the ODBC.viewlet.zip

Root: HKLM; Subkey: "Software\ODBC\ODBC.INI\";
Root: HKLM; Subkey: "Software\ODBC\ODBC.INI\sees"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\ODBC\ODBC.INI\sees\Engines";
Root: HKLM; Subkey: "Software\ODBC\ODBC.INI\sees\Engines\Jet";

Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources"; ValueType: string; ValueName: "sees"; ValueData: "Microsoft Access Driver (*.mdb)" ; Flags: uninsdeletevalue

Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees"; ValueType: string; ValueName: "Driver"; ValueData: "{sys}\odbcjt32.dll"

;                                                                                     Contains the name of the Database
;                                                                                                   rename it if needed
;                                                                                                             |
;                                                                                                             v
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees"; ValueType: string; ValueName: "DBQ"; ValueData: "{app}\sees_db_051113.mdb"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees"; ValueType: string; ValueName: "Description"; ValueData: "Sees database D11 - 05.11.13"
;25 Dec = 19 Hex
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees"; ValueType: dword; ValueName: "DriverId"; ValueData: "00000025"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees"; ValueType: string; ValueName: "FIL"; ValueData: "MS Access;"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees"; ValueType: dword; ValueName: "SafeTransactions"; ValueData: "00000000"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees"; ValueType: string; ValueName: "UID";

Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees\Engines\Jet"; ValueType: string; ValueName: "ImplicitCommitSync"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees\Engines\Jet"; ValueType: string; ValueName: "UserCommitSync"; ValueData: "Yes"
;2048 Dec = 0800 Hex
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees\Engines\Jet"; ValueType: dword; ValueName: "MaxBufferSize"; ValueData: "00002048"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees\Engines\Jet"; ValueType: dword; ValueName: "PageTimeout"; ValueData: "00000005"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\sees\Engines\Jet"; ValueType: dword; ValueName: "Threads"; ValueData: "00000003"


[Icons]
;If you change the name of the application, please also rename this shortcut
;                                               |
;                                               v
Name: "{group}\SEES"; Filename: "{app}\sees-1.43.jar"; IconFilename: "{app}\img\SEES.ico"; WorkingDir: "{app}"
Name: "{group}\Uninstall SEES"; Filename: "{app}\unins000.exe"; IconFilename: "{app}\unins000.exe"; WorkingDir: "{app}"
Name: "{group}\Documentation"; Filename: "{app}\Doc\D11-Documentation.doc";
Name: "{group}\Give Feedback"; Filename: "{app}\Doc\SEES_WP11_software_test_template_V2.doc"
Name: "{group}\SEES Website"; Filename: "{app}\Doc\website.url"


;                                       and also this one
;                                               |
;                                               v

Name: "{userdesktop}\SEES"; Filename: "{app}\sees-1.43.jar"; IconFilename: "{app}\img\SEES.ico"; WorkingDir: "{app}"


; this code checks Java Version before the installation

[Code]

var Java: Boolean;
var Java_version : string;

function InitializeSetup(): Boolean;

begin
  Java:=RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion' ,Java_version);
  if Java then
    begin
    MsgBox('Java JRE V' + Java_version  + ' has been found' #13#13 'Installation process will continue', mbInformation, MB_OK);
    Result :=true;
    end
    else
    begin
    Result := MsgBox('It seems that Java is not installed on your machine' #13 'SEES won´t work unless Java is installed' #13#13 'Continue anyway?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = idYes;
    if Result = False then
      MsgBox('SEES has not been installed on your machine' #13#13 'Please install Java Runtime Environment' #13 'http://www.java.com/en/download/manual.jsp', mbInformation, MB_OK);
    end
end;

dans cet exemple, Inno compresse les fichiers, mets les liens qui vont bien, avec les icones qui faut, définit une base de données dans la base de registre, vérifie que Java est installé, et fait des backups des fichiers des installs précédentes.

Dernière modification par Black_pignouf (Le 14/11/2005, à 14:51)

Hors ligne

#2 Le 14/11/2005, à 13:39

marcounet

Re : Inno setup

Oui,
J'utilise InnoSetup pour l'install de mes progs sous windows, c'est vrai qu'il est génialissime !!! et c'est gratuit !


Marcounet des Brumes

Hors ligne