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 :
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.
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".
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é.
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.
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 !
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.
- 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 |