Header image
Jean-René DANIS

 

   Retour à Script d'installation silencieuse                

  


Scripts d'installation silencieuse
Firefox 3.0.10

 

Voici un script qui permet d'installer Firefox 3.0.10 sans assistance en Kixtart.
Le script détecte s'il y a déjà une version de VLC et tente de la désinstaller en ligne de commande.

Paramètre de ligne de commande pour une installation silentieuse : "Firefox Setup 3.0.10.exe /S"
Paramètre de ligne de commande pour une désinstallation silentieuse : %Dossier_d_install%\uninstall\helper.exe /S

Principe

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

Firefox Setup 3.0.10.exe : fichier d'installation disponible au téléchargement sur ce site : http://www.mozilla-europe.org/fr/firefox/
install.bat : décrit ci-dessous
Firefox Setup 3.0.10.kix : décrit ci-dessous

Pour installer Firefox Setup 3.0.10 de manière silencieuse : double cliquer sur install.bat

Détail des scripts nécessaires

Contenu du fichier install.bat

Prompt $H
cls
@echo OFF

@echo ................................
@echo INSTALLATION DE Firefox 3.0.10
@echo JEAN-RENE DANIS 02/05/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.exe "Firefox Setup 3.0.10.kix"
)
Prompt



Contenu du Firefox Setup 3.0.10.kix (télécharger ce script en pdf couleur ici)

; installation de Firefox 3.0.10 à partir du fichier Firefox Setup 3.0.10.exe
; Désinstallation de Firefox 2 s'il est déjà installé
; JEAN-RENE DANIS 02/05/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.0.10.exe" /S'
? $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