InstallShield


Créer une installation silentieuse automatisée

 


Cet article a pour but de décrire comment créer et utiliser une installation silentieuse d'une application packagée avec InstallShield.
Concerne Windows 98, 98SE, 98ME, Windows NT4.0, Windows 2000 et Windows XP.

 

 

Le plan de ce document se présente comme suit :

  1. Installation silencieuse, pourquoi-faire
  2. Les paramètres
  3. Créer un fichier de réponse (.iss)
  4. Utiliser un fichier de réponse (.iss)
  5. Les limitations
  6. Le contenu du fichier de réponse (.iss)
  7. Les applications utilisant un fichier de réponse (.iss)

 

 

1) Installation silencieuse, pourquoi-faire

Le but d'effectuer une installation silencieuse permet de déployer automatiquement des applications sans intervention de l'utilisateur. Il faut toutefois, dans le cadre de ce tutoriel, que l'application à déployer ait été packagée avec InstallShield. Cela peut se caractériser par la présence d'un fichier Setup.exe.

 

 

2) Les paramètres

Le "lanceur" Setup.exe accepte peu de paramètres. Nous allons les expliquer en détail :

-r ou /r
Permet de créer un fichier de réponses (r pour record)
-s ou /s
Permet d'utiliser un fichier de réponse (s pour silent)
-f ou /f
Indique le chemin alternatif au fichier de script compilé (.ins)
Le fichier _setup.dll doit être au même endroit.
-f1 ou /f1
Indique le chemin d'accès au fichier de réponse
-f2 ou /f2
Indique le chemin d'accès au fichier de log de l'installation

 

La syntaxe : setup.exe -r ou encore setup -r -f1c:\dossier1\dossier2\fichreponse.iss

Noter qu'il est possible d'utiliser les guillements pour éviter certaines confusions : setup -s "/fscript.ins" "-f1fichreponse.iss"

En effet, le fichier ainsi généré est d'extension .iss et s'appelle "fichier de réponse".

 

 

3) Créer un fichier de réponse (.iss)

Une chose primordiale : la machine servant de modèle ne doit pas avoir eu d'installation préalable de l'application, à moins que celle-çi n'ait été désinstallée proprement et complètement.

Pour créer le fichier de réponse, 2 possibilités sont offertes : préciser le chemin et le nom du fichier de réponse ou laisser le système gèrer ce fichier.
En l'absence du paramètre -f1, le fichier généré est setup.iss et se trouve dans le dossier %SystemRoot%\system32 (pour 9x : c:\Windows\system32 - Pour NT4 : c:\WINNT\system32 - pour 2000 : c:\WINNT\system32 et pour XP : c:\Windows\system32 si les systèmes ont été installé par défaut).

Pour préciser le chemin et le nom, il suffit de taper par exemple : setup.exe -r -f1d:\Monrep\Appli.iss

Pour générer un fichier de log à la racine de c: setup.exe -r -f1d:\Monrep\Appli.iss -f2c:\MonLog.log

Le fait de lancer Setup.exe -r lance donc l'assistant d'installation de l'application, et à chaque question répondue correspond une entrée dans ce fichier .iss.
A la fin de l'installation, le fichier .iss est complet et peut être utilisé.

 

 

4) Utiliser un fichier de réponse (.iss)

Une chose primordiale : la machine sur laquelle déployer l'application ne doit pas avoir eu d'installation préalable de l'application, à moins que celle-çi n'ait été désinstallée proprement et complètement.

L'installation silencieuse est simple et 2 possibilités sont offertes : copier le fichier .iss dans le même dossier que le Setup.exe et lancer Setup.exe -s ou définir complètement le chemin d'accès à ce fichier :

Pour préciser le chemin et le nom, il suffit de taper : setup.exe -s -f1d:\Monrep\Appli.iss

La même chose avec génération d'un fichier de log à la racine de d: setup.exe -s -f1d:\Monrep\Appli.iss -f2d:\MonLog.log

Pour utiliser un fichier setup.iss dans le même dossier que le fichier setup.exe : setup.exe -s
Dans ce cas, le fichier de log est créé dans le même dossier que le fichier de réponses.

 

 

5) Les limitations

L'installation silentieuse est réellement silencieuse... Ainsi aucune fenêtre ni boite de dialogue n'apparaîtra lors de l'installation. De ce fait, il n'est guère facile de contrôler la fin de l'installation. Ce sera à l'application lançant l'installation d'attendre "le temps qu'il faut" ou de prévoir de contrôler la présence de dossiers ou fichiers résultant de l'installtion. Un examen de la base de registre dans les clefs propres à l'application à déployer est possible. L'appelant fera ainsi une boucle de test pour attendre la fin de l'installtion (par exemple, si l'on sait que le déploiement installe un exécutable, il peut être possible d'attendre la présence de ce fichier exécutable pour en déduire que l'installation est terminée).

Le déploiement silencieux d'une application sur une machine ayant déja eu une installation de cette même application (ou une mauvaise désinstallation) peut provoquer un plantage sans aucun message d'avertissement.
En effet, le fichier .iss généré comporte en quelque sorte les réponses aux questions posées lors du déploiement sur la machine "vierge". Si un fichier ou un dossier existe déja sur la machine où déployer silentieusement, le fichier .iss ne contient pas la réponse à la demande d'écrasement et le déploiement silentieux n'aboutit pas.
Il convient donc d'être prudent !

 

 

6) Le contenu du fichier de réponse (.iss)

Le fichier .iss est un fichier texte lisible sous Notepad ou autre éditeur de texte.
Sa structure rappelle celle d'un fichier .INI avec ses sections...

  [InstallShield Silent]
  Version=v5.00.000
  File=Response File
  [{8A10F056 -6B5F-11D5-8803-204C4F4F5020}-DlgOrder]
  Dlg0={8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SdWelcome-0
Nombre de boites de dialogue Count=5
Liste des boites de dialogue Dlg1={8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SdRegisterUserEx-0
  Dlg2={8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SdAskDestPath-0
  Dlg3={8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SetupType-0
  Dlg4={8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SdFinish-0
 
Message de bienvenue [Dlg0={8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SdWelcome-0]
(Result=1 signifie que l'écran suivant est exécuté) Result=1
 
[Dlg1={8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SdRegisterUserEx-0]
Nom d'utilisateur szName=Laurent
Nom de la société szCompany=AutourduPC
N° de série szSerial=12345678
Result=1
 
Message de répertoire de destination d'installation [{8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SdAskDestPath-0]
Répertoire d'installation szDir=C:\MonRep\AutreRep\
  Result=301
 
Message de type d'install (complète ou personnalisée) [{8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SetupType-0]
  Result=1
 
[Application]
Nom de l'application Name=Exemple
Version de l'application Version=1.0
Nom de l'éditeur Company=AutourduPC company
Code langue de l'application Lang=0409
 
  [{8A10F056 -6B5F-11D5-8803-204C4F4F5020}-SdFinish-0]
  Result=1
Ouvrir le fichier readme.txt file? 0=Non, 1=Oui bOpt1=0
Lancer l'application après installation ? 0=Non, 1=Oui bOpt2=0

On notera la présence d'une clef de type GUID ({8A10F056 -6B5F-11D5-8803-204C4F4F5020}) caractérisant l'application.

 

7) Les applications utilisant un fichier de réponse (.iss)

- IBmanager V6.01
- AcrobatReader
- UltraBac.com
- Tivoli
... Et la liste est surement très longue !

 

 

 

 

 


Début de page  |  Sommaire du thème  |  Page d'accueil  |  Me contacter

(C) Laurent - autourdupc.com -

Création le 24juin 2004
Mise à jour le 24 juin 2004

visites