|
Voici un script qui permet d'installer VideoLan VLC 0.9.8a 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.
Ligne de commande : "vlc-0.9.8a-win32.exe /S"
Principe
Mettre les 3 fichiers suivants dans le même
dossier :
vlc-0.9.8a-win32.exe : fichier d'installation
disponible au téléchargement sur ce site : http://www.videolan.org/
install.bat : décrit ci-dessous
vlc-0.9.8a-win32.kix : décrit ci-dessous
Pour installer VLC 0.9.8a 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 VLC 0.9.8a @echo JEAN-RENE DANIS 26/01/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 vlc-0.9.8a-win32.kix ) Prompt
|
Contenu du vlc-0.9.8a-win32.kix (télécharger ce
script en pdf couleur ici)
; installation de VLC 0.9.8a à partir du fichier vlc-0.9.8a-win32.exe ; Désinstallation de VLC s'il est déjà installé ; JEAN-RENE DANIS 26/01/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
$CleRegistreVLC = KeyExist("HKLM\SOFTWARE\VideoLan\VLC") If $CleRegistreVLC
? "Une clé de registre VLC a été trouvé, lecture des informations :
dossier d'installation et version existante de VLC" $DossierInstallVLC = READVALUE ("HKLM\SOFTWARE\VideoLan\VLC", "InstallDir") $VersionVLCExistant = READVALUE ("HKLM\SOFTWARE\VideoLan\VLC", "Version") ? "$DossierInstallVLC : $VersionVLCExistant" Endif
;Verifie si le programme est déjà installé et tente de le désinstaller $prgatester = "$DossierInstallVLC\vlc.exe" IF EXIST ($prgatester) ? "Le programme est déjà installé : tentative de déinstallation automatique" IF EXIST ("$DossierInstallVLC\uninstall.exe") ; désinstallation du programme CDBurnerXP $commande = '"$DossierInstallVLC\uninstall.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 $UninstallVLCExist = 0 WHILE $UninstallVLCExist = 0 sleep 5 IF NOT EXIST ("$DossierInstallVLC\uninstall.exe") $UninstallVLCExist = 1 ENDIF LOOP sleep 5 IF EXIST ("$ALLUSERPRG\VideoLAN") ;effacement d'un dossier du menu démarrer DELPROGRAMGROUP ("VideoLAN",1) IF NOT EXIST ("$ALLUSERPRG\VideoLAN") ? "Le dossier : $ALLUSERPRG\VideoLAN a été supprimé" ELSE ? "Le dossier : $ALLUSERPRG\VideoLAN n'a pas été supprimé complétement" ENDIF ENDIF IF EXIST ("$ALLUSERPRG\Utilitaires\VideoLAN") MOVE "$ALLUSERPRG\Utilitaires\VideoLAN\" "$ALLUSERPRG\VideoLAN\" DELPROGRAMGROUP ("VideoLAN",1) IF NOT EXIST ("$ALLUSERPRG\VideoLAN") ? "Le dossier : $ALLUSERPRG\Utilitaires\VideoLAN a été supprimé" ELSE
? "Le dossier : $ALLUSERPRGVideoLAN
ou $ALLUSERPRG\Utilitaires\VideoLAN 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 = 'vlc-0.9.8a-win32.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 + '\VideoLAN' $ALLUSERPRG + "\Utilitaires\VideoLAN\"
;efface du raccourci sur le bureau del "$ALLUSERBUREAU\VLC media player.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
|