Header image
Jean-René DANIS

 

   Retour à Script d'installation silencieuse                

  


Scripts d'installation silencieuse (silent install)
Firefox 3.5

 
Voici un script qui permet d'installer Firefox 3.5 sans assistance en Kixtart.
Ce script s'occupe aussi de désinstaller l'ancienne version de Firefox si elle est installée.

Ligne de commande pour l'installation silencieuse : "Firefox Setup 3.5" -MS
Ligne de commande pour désinstaller une ancienne version : "...\Mozilla Firefox\uninstall\helper.exe" /S

 
Prérequis

Le fichier kix32.exe doit être préalablement copié sur l'ordinateur. En principe le fichier kix32.exe est copié dans le dossier C:\Windows\System32.
Le fichier kix32.exe peut être téléchargé sur le site : www.kixtart.org

 

Principe

Mettre les 3 fichiers suivants dans le même dossier :

Firefox Setup 3.5.exe (ce fichier peut être télechargé sur ce site : http://www.mozilla-europe.org/fr/firefox/ )
install.bat : fichier batch, décrit ci-dessous
firefox_3.5.kix : script kixtart, décrit ci-dessous

 

Détail des scripts nécessaires

Contenu du fichier install.bat

Prompt $H
cls
@echo OFF

@echo .........................
@echo INSTALLATION DE Firefox 3.5
@echo JEAN-RENE DANIS 01/07/09
@echo .........................

IF NOT EXIST %WINDIR%\system32\kix32.exe (
    @echo ......................................................................
    @echo CE SCRIPT NECESSITE LA PRESENCE DU FICHIER %WINDIR%\system32\kix32.exe
    @echo VOUS POUVEZ LE TELECHARGER ET LE COPIER A PARTIR DU SITE WEB :
    @echo www.kixtart.org
    @echo ......................................................................
    pause
) ELSE (
    @echo ON
    kix32 Firefox_3.5.kix
)
Prompt

Contenu du fichier firefox_3.5.kix (télécharger ce script en pdf couleur ici)

; installation de Firefox 3.5 à partir du fichier Firefox Setup 3.5.exe
; Désinstallation de Firefox 2.x ou 3.x s'il est déjà installé
; JEAN-RENE DANIS 01/07/2009

;Liste des variable(s)
;variable qui définit l'emplacement du fichier log
$DossierDeLog = "%systemdrive%\install\log\"

;Création du dossier pour mettre le fichier log si ce dossier n'existe pas
IF NOT EXIST ($DossierDeLog)
   MD $DossierDeLog
ENDIF

;Ouverture du fichier log et redirection des messages
IF RedirectOutput($DossierDeLog + @SCRIPTNAME + ".txt") = 0
   ?? "Ouverture de " + @SCRIPTNAME + " à " + @TIME
ELSE
   ? "Impossible de créer le fichier log"
   GOTO "finerreur"
ENDIF

;determine le chemin du burreau de tous les utilisateurs
$ALLUSERBUREAU=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Common Desktop")
? "Chemin du bureau : " + $ALLUSERBUREAU

;determine le chemin du menu démarrer\programmes de tous les utilisateurs
$ALLUSERPRG=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Common Programs")
? "Chemin du menu démarrer\programmes : " + $ALLUSERPRG

;Verifie si le programme est déjà installé
$CleRegistre = KeyExist("HKLM\SOFTWARE\Mozilla\Mozilla Firefox")
IF $CleRegistre
    ? "Une clé de registre Firefox a été trouvé, lecture des informations : dossier d'installation et version existante de FireFox"
    $VersionExistant = READVALUE ("HKLM\SOFTWARE\Mozilla\Mozilla Firefox", "CurrentVersion")
    $DossierInstall = READVALUE ("HKLM\SOFTWARE\Mozilla\Mozilla Firefox\$VersionExistant\Main", "Install Directory")
    $FichierEXE = READVALUE ("HKLM\SOFTWARE\Mozilla\Mozilla Firefox\$VersionExistant\Main", "PathToExe")
    $DossierUninstall = READVALUE ("HKLM\SOFTWARE\Mozilla\Mozilla Firefox\$VersionExistant\Uninstall", "Uninstall Log Folder")
    IF EXIST ($FichierEXE)
        ? "Une version est installée : $DossierInstall : $VersionExistant"
    ENDIF
ELSE
? "Le programme ne semble pas être déjà installé."
? "Le script d'installation peut continuer"
ENDIF

;Tentative de désinstallation de l'ancienne version
IF EXIST ($FichierEXE)
    ? "Le programme est déjà installé : tentative de déinstallation automatique"
    IF EXIST ("$DossierUninstall\helper.exe")
        ; désinstallation du programme
        $commande = '"$DossierUninstall\helper.exe" /S'
        ? $commande
        shell '%COMSPEC% /c ' + $commande
        IF @ERROR <> 0
           ? "Erreur n° " + @ERROR
           ? "La désinstallation a échouée : il faut faire une désinstallation manuelle"
           GOTO "finerreur"
        ENDIF
    ENDIF
    ; attends la fin de la désinstallation
    $UninstallExist = 0
    WHILE $UninstallExist = 0
        sleep 5
        IF NOT EXIST ("$DossierInstall\helper.exe")
            $UninstallExist = 1
        ENDIF
    LOOP
    sleep 5
    IF EXIST ("$ALLUSERPRG\Mozilla Firefox")
        ;effacement d'un dossier du menu démarrer
        DELPROGRAMGROUP ("Mozilla Firefox",1)
        IF NOT EXIST ("$ALLUSERPRG\Mozilla Firefox")
           ? "Le dossier : $ALLUSERPRG\Mozilla Firefox a été supprimé"
        ELSE
           ? "Le dossier : $ALLUSERPRG\Mozilla Firefox n'a pas été supprimé complétement"
        ENDIF
    ENDIF
    IF EXIST ("$ALLUSERPRG\Utilitaires\Mozilla Firefox")
        MOVE "$ALLUSERPRG\Utilitaires\Mozilla Firefox\" "$ALLUSERPRG\Mozilla Firefox\"
        DELPROGRAMGROUP ("Mozilla Firefox",1)
        IF NOT EXIST ("$ALLUSERPRG\Mozilla Firefox")
          ? "Le dossier : $ALLUSERPRG\Utilitaires\Mozilla Firefox a été supprimé"
        ELSE
          ? "Le dossier : $ALLUSERPRG\Mozilla Firefox ou  $ALLUSERPRG\Utilitaires\Mozilla Firefox n'a pas été supprimé complétement"
        ENDIF
     ENDIF
ELSE
   ? "Le programme n'est pas déjà installé : lancement de l'installation."
ENDIF

cd @SCRIPTDIR\


;installation du programme
$commande = '"Firefox Setup 3.5" -MS'
? $commande
shell '%COMSPEC% /c ' + $commande
IF @ERROR <> 0
   ? "Erreur n° " + @ERROR
   GOTO "finerreur"
ENDIF


;Si le dossier "menu démarrer\Utilitaires" n'existe : le créer
IF ADDPROGRAMGROUP ("Utilitaires",1) = 0
   ? "Dossier Utilitaires créé ou exist déjà"
ELSE
   ? "Erreur création dossier Utilitaires"
   GOTO "Finerreur"
ENDIF

;Déplacement du raccourci dans dossier "menu démarrer\utilitaires"
? "Organisation des raccourcis"
MOVE $ALLUSERPRG + '\Mozilla Firefox' $ALLUSERPRG + "\Utilitaires\Mozilla Firefox\"

;efface du raccourci sur le bureau
del "$ALLUSERBUREAU\Mozilla Firefox.lnk"

GOTO "fin"

;label de fin avec erreurs
:finerreur
? "fin du script d'installation : erreur"
;Ouverture du fichier log pour signaler la présence d'erreurs
IF RedirectOutput($DossierDeLog + "ERREUR_" + @SCRIPTNAME +".txt") = 0
   ?? "Ouverture de erreur_" + @SCRIPTNAME + " à " + @TIME
   ? "le script d'installation à rencontrer des erreurs : consulter le fichier log :"
   ? $DossierDeLog + @SCRIPTNAME +".txt"
ENDIF
sleep 5

;label de fin sans erreurs
:fin
? "fin du script d'installation"

;annule la redirection vers un fichier
RedirectOutput("")


 
Vous pouvez poster vos commentaires sur mon blog : http://installation-silencieuse.blogspot.com