|
Voici un script qui permet d'installer Skype 4.0 sans assistance
en Kixtart. Le script détecte la présence de skype 3.8 et le desinstall automatiquement.
Ligne de commande : "SkypeSetup.exe /VERYSILENT
/nogoogle /nodesktopicon"
Principe
Mettre les 3 fichiers suivants dans le même
dossier :
SkypeSetup.exe : fichier d'installation
téléchargé sur le site de skype : http://www.skype.com
install.bat : décrit ci-dessous
SkypeSetup.kix : décrit ci-dessous
Pour installer Skype 4.0 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 Skype 3.8 @echo JEAN-RENE DANIS 15/10/08 @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 SkypeSetup.kix ) Prompt
|
Contenu du SkypeSetup.kix (télécharger ce script
en pdf couleur ici)
;installation de Skype 4.0 à partir du fichier SkypeSetup.exe ;desinstallation de skype 3.8 s'il est installé ;JEAN-RENE DANIS 27/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
cd @SCRIPTDIR\
;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
;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 + "\Skype\Phone\Skype.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 skype 3.8 $prgatester = "%windir%\installer\{5C82DAE5-6EB0-4374-9254-BE3319BA4E82}\" IF EXIST ($prgatester) ? "Skype 3.8 a été détecté : désinstallation en cours" ;desinstallation du programme $commande='msiexec /x {5C82DAE5-6EB0-4374-9254-BE3319BA4E82} /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 skype existe dans le menu démarrer, si oui : supprime le. ;suppression des raccourcis des anciennes version IF EXIST ("$ALLUSERPRG\Skype") $dossierasupprimer = "$ALLUSERPRG\Skype" 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\Skype") $dossierasupprimer = "$ALLUSERPRG\Utilitaires\Skype" 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
;installation du programme $commande='SkypeSetup.exe /VERYSILENT /nogoogle /nodesktopicon' ? $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 + '\Skype\' $ALLUSERPRG + "\Utilitaires\Skype\"
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
|