|
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
|