Header image
Jean-René DANIS
&

 

   Retour à Script d'installation silencieuse                

  


Scripts d'installation silencieuse
Kaspersky Workstation 6.0.3.837

 

Voici un script qui permet d'installer Kaspersky Workstation 6.0.3.837 sans assistance en Kixtart.

Ligne de commande pour une installation sans assistance : 'msiexec /i kav6ws.fr.msi /qn'

Principe

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

kav6.0.3.837_winwksfr.exe (ce fichier peut être télechargé sur le site de Kaspersky : http://www.kaspersky.com/fr/ )
install.bat : décrit ci-dessous
0******.key : Fichier de licence fournit par votre revendeur.
kav6.0.3.837_winwksfr.kix : décrit ci-dessous
FichierDeConfig.cfg : Fichier de configuration préalablement exporter d'une station où le logiciel Kaspersky à été configuré manuellement.

Pour installer Kaspersky Workstation 6.0.3.837 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 KASPERSKY ANTIVIRUS FOR WINDOWS WORKSTATION 6.0.3.837
@echo JEAN-RENE DANIS 03/12/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 kav6.0.3.837_winwksfr.kix
)
Prompt



Contenu du fichier kav6.0.3.837_winwksfr.kix (télécharger ce script en pdf couleur ici)
Pensez à modifier l'addresse du serveur de mise à jour ligne 107.

;installation de KASPERSKY ANTIVIRUS FOR WINDOWS WORKSTATION 6.0.3.837 à partir du fichier kav6.0.3.837_winwksfr.exe
;JEAN-RENE DANIS 03-12-08

;Liste des variable(s)
;variable qui définit l'emplacement du fichier log
$DossierDeLog = "%systemdrive%\install\log\"
;variable qui définit la destination temporaire :
$dossierprov = '%systemdrive%\install\kav6.0.3.837_winwksfr'
;variable qui définit le dossier de 7Zip ou se trouve 7z.exe :
$SEI_7Z = '%SYSTEMDrive%\Program Files\7-Zip'

;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

;verifie la présence de 7zip
IF EXIST ($SEI_7Z)
? "$SEI_7Z existe."
ELSE
? "L'installation necessite un logiciel de décompression."
? "$SEI_7Z n'esiste pas, installez le puis recommencer."
GOTO "finerreur"
ENDIF

;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 logiciel est déjà installé
IF EXIST ("$PRGDIR\Kaspersky Lab\Kaspersky Anti-Virus 6.0 for Windows Workstations\avp.com")
? "Kaspersky Anti-Virus 6.0 for Windows Workstations existe sur cet ordinateur."
GOTO "finerreur"
ELSE
? "Kaspersky Anti-Virus 6.0 for Windows Workstations n'existe pas sur cet ordinateur."
ENDIF

cd @SCRIPTDIR\

;Décompression du fichier
$fichieradecomp = 'kav6.0.3.837_winwksfr.exe'
$destinationdeladecomp = $dossierprov
$commande='"$SEI_7Z\7z.exe" x -o$destinationdeladecomp $fichieradecomp'
? $commande
shell '%COMSPEC% /c ' + $commande
IF @ERROR <> 0
? "Erreur n° " + @ERROR
GOTO "finerreur"
ENDIF

copy "*.cfg" "$dossierprov\"
copy "*.key" "$dossierprov\"

;Creation du fichier setup.ini
IF RedirectOutput("$dossierprov\setup.ini") = 0
? "[Setup]"
? "Reboot=no"
? "SelfProtection=yes"
?? "[Components]"
? "FileMonitor=yes"
? "MailMonitor=yes"
? "WebMonitor=yes"
? "ProactiveDefence=yes"
? "AntiSpy=yes"
? "AntiHacker=yes"
? "AntiSpam=yes"
?? "[Tasks]"
? "ScanMyComputer=yes"
? "ScanStartup=yes"
? "ScanCritical=yes"
? "Updater=yes"
;Reprise du fichier log et redirection des messages
IF RedirectOutput($DossierDeLog + @SCRIPTNAME + ".txt") = 0
? "Fichier créé : setup.ini"
ELSE
GOTO "finerreur"
ENDIF
ELSE
? "Impossible de créer le fichier setup.ini"
ENDIF

;Lancement du programme d'installation
$commande='msiexec /i $dossierprov\kav6ws.fr.msi /qn'
? $commande
shell '%COMSPEC% /c ' + $commande
IF @ERROR <> 0
? "Erreur n° " + @ERROR
GOTO "finerreur"
ENDIF

;Importe les dernieres mises à jour du logiciel et des module depuis le serveur local
;dans la variable $ServeurDeMiseAJourKAV, je renseigne le serveur source des mises à jour.
;pour utiliser la valeur par defaut de l'application mettre $ServeurDeMiseAJourKAV = ""
$ServeurDeMiseAJourKAV = "kaspersky_sei"
? "Importation des mise à jour depuis le serveur $ServeurDeMiseAJourKAV..."
$commande='"$PRGDIR\Kaspersky Lab\Kaspersky Anti-Virus 6.0 for Windows Workstations\avp.com" UPDATE $ServeurDeMiseAJourKAV'
? $commande
shell '%COMSPEC% /c ' + $commande
IF @ERROR <> 0
? "Erreur n° " + @ERROR
GOTO "finerreur"
ENDIF

;label pour effacer le dossier temporraire
:effacedossiertmp

;effacement d'un dossier
$dossierasupprimer = $dossierprov
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

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

IF EXIST ($dossierprov)
? "Suppression du dossier temporaire $dossierprov"
goto "effacedossiertmp"
ENDIF

 

;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