Header image
Jean-René DANIS

 

   Retour à Script d'installation silencieuse                

  


Scripts d'installation silencieuse
QuickTime 7.60

 

Voici un script qui permet d'installer QuickTime 7.60 sans assistance en ligne de commande.

Ligne de commande : "QuickTimeInstaller.exe  /passive /norestart SCHEDULE_ASUW="0""

Principe

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

QuickTimeInstaller.exe : fichier d'installation disponible au téléchargement sur ce site : http://www.apple.com/
install.bat : décrit ci-dessous
QuickTimeInstaller.kix : décrit ci-dessous

Pour installer QuickTime 7.60 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 QuickTime 7.60
@echo JEAN-RENE DANIS 28/02/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 QuickTimeInstaller.kix
)
Prompt




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

;installation de QuickTime 7.60 à partir du fichier QuickTimeInstaller.exe
;si QuickTime 7.55 est déjà installer : le désinstaller
;JEAN-RENE DANIS 28/02/09

;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 menu démarrer\programmes de tous les utilisateurs
$ALLUSERPRG=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Common Programs")
? "Détection du chemin du menu démarrer\programmes : "
? "$ALLUSERPRG"


;determine le chemin du dossiers "program files" pour les applications 32 bits
;Dans le cas d'un système d'exploitation 64 bits : les applications 32 bits sont dans le dossiers ProgramFilesDir (x86).
$PRGDIR=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","ProgramFilesDir (x86)")
IF $PRGDIR =""
    ;Si ProgramFilesDir (x86) n'exite pas : c'est que le sysème d'exploitation est 32bits, dans ce cas les applications 32bits sont dans le dossier ProgramFilesDir.
    $PRGDIR=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","ProgramFilesDir")
ENDIF
? 'Chemin du dossiers "program files" pour les applications 32bits : $PRGDIR'

;Verifie si le programme est déjà installé
$prgatester = $PRGDIR + "\QuickTime\QuickTimePlayer.exe"
IF EXIST ($prgatester)
   ? "Le programme est déjà installé"
   GOTO "desinstallation"
ELSE
   ? "Le programme n'est pas déjà installé : lancement de l'installation."
   GOTO "installation"
ENDIF

:desinstallation

;Verifie si le programme déja installé est QuickTime 7.55
$prgatester = "%windir%\installer\{8DC42D05-680B-41B0-8878-6C14D24602DB}\"
IF EXIST ($prgatester)
    ? "QuickTime 7.55 a été détecté : désinstallation en cours"
    ;desinstallation du programme
    $commande='msiexec /x {8DC42D05-680B-41B0-8878-6C14D24602DB} /quiet'
    ? $commande
    shell '%COMSPEC% /c ' + $commande
    IF @ERROR <> 0
       ? "Erreur n° " + @ERROR
       GOTO "finerreur"
    ENDIF
    GOTO "installation"
ELSE
   ? "Le programme n'a pas pu être désinstallé"
   GOTO "finerreur"
ENDIF

;verifie si un dossier QuickTime existe dans le menu démarrer, si oui : supprime le.
;suppression des raccourcis des anciennes version
IF EXIST ("$ALLUSERPRG\QuickTime")
    $dossierasupprimer = "$ALLUSERPRG\QuickTime"
    del $dossierasupprimer  + "\*.*" /c /f /s
    rd $dossierasupprimer /s
    IF NOT EXIST ($dossierasupprimer)
       ? "Le dossier : " + $dossierasupprimer + " a été supprimé"
    ELSE
       ? "Le dossier : " + $dossierasupprimer + " n'a pas été supprimé complétement"
    ENDIF
ENDIF

IF EXIST ("$ALLUSERPRG\Utilitaires\QuickTime")
    $dossierasupprimer = "$ALLUSERPRG\Utilitaires\QuickTime"
    del $dossierasupprimer  + "\*.*" /c /f /s
    rd $dossierasupprimer /s
    IF NOT EXIST ($dossierasupprimer)
       ? "Le dossier : " + $dossierasupprimer + " a été supprimé"
    ELSE
       ? "Le dossier : " + $dossierasupprimer + " n'a pas été supprimé complétement"
    ENDIF
ENDIF

:installation
cd @SCRIPTDIR

;installation du programme
$commande = 'QuickTimeInstaller.exe  /passive /norestart SCHEDULE_ASUW="0"'
? $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"
MOVE $ALLUSERPRG + '\QuickTime\' $ALLUSERPRG + "\Utilitaires\QuickTime\"

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