Header image
Jean-René DANIS

 

   Retour à Script d'installation silencieuse                

  


Scripts d'installation silencieuse
Drivers TouchPad pour un ordinateur portable, en fonction du model

 

Voici un script qui permet d'installer le driver TouchPad pour un ordinateur portable, en fonction du model et sans assistance en Kixtart.
Ce script test le model du PC et install de driver correspondant.
Dans cet exemple je très 3 types d'ordinateur portable et 3 drivers.

Principe

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

install.bat : décrit ci-dessous
DriversTouchPad.kix : décrit ci-dessous
R113813.EXE : drivers de touchpad pour ordinateur portable Latitude D810 qui peuvent être télécharger sur ce site : http://www.dell.fr/
R165804.EXE : drivers de touchpad pour ordinateur portable Latitude D820 ou D830 qui peuvent être télécharger sur ce site : http://www.dell.fr/
R202446.EXE : drivers de touchpad pour ordinateur portable Latitude E6500 qui peuvent être télécharger sur ce site : http://www.dell.fr/
WMIQuery.udf : fonction Kixtart qui récupère des information sur le matériel

Pour installer le driver TouchPad pour un ordinateur portable en fonction du model : double cliquer sur install.bat

Détail des scripts nécessaires

Contenu du fichier install.bat

Prompt $H
cls
@echo OFF

@echo ..........................................................
@echo INSTALLATION DES TOUCHPAD EN FONCTION DU MODEL DU PORTABLE
@echo JEAN-RENE DANIS 29/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 DriversTouchPad.kix
)
Prompt

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

;installation des drivers touchpad à partir du model de l'ordinateur et
;d'une bibliothèque de fichiers des drivers touchpad
;JEAN-RENE DANIS 29/01/09 www.jrdanis.com

;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\Touchpad'
;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

cd @SCRIPTDIR\

;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

;Chargement d'une fonction : WMIQuery
;Ce script charge une fonction sauf si elle a déjà été chargée.
;Verifier que le nom de la fonction à chargée est bien présent dans
;le nom de la variable $exist...des 2ieme et 7ieme lignes ci-dessou
$emplacementfonction = "WMIQuery.udf"
IF $existWMIQuery = "exist"
  ? "La fonction " + $emplacementfonction + " a déjà été chargée"
ELSE
    IF EXIST ($emplacementfonction)
        CALL $emplacementfonction
        $existWMIQuery = "exist"
        ? "La fonction " + $emplacementfonction + " a été chargée"
    ELSE
        ? "La fonction " + $emplacementfonction + " n'a pas été trouvée"
    ENDIF
ENDIF

;Récupère le model de l'ordinateur grace à la fonction WMIQuery
$ModelDeOrdinateur = WMIQuery("Model","Win32_ComputerSystem")[0]
? "Le model de l'ordinateur est : [$ModelDeOrdinateur]"

;Execution de l'installation du driver audio en fonction du model.
Select
       
    Case $ModelDeOrdinateur = "Satellite Pro A40"

       
    Case $ModelDeOrdinateur = "Latitude D810                   "
        $NomduFichierDriver = "R113813.exe"
        ? "installation du drivers touchpad à partir du fichier : $NomduFichierDriver pour 2000, XP,ou Vista"
       
        ;Décompression du fichier
        $fichieradecomp = '$NomduFichierDriver'
        $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   
       
        ;Lancement du programme d'installation silencieuse
        $commande="$dossierprov\setup.exe /S"
        ? $commande
        shell '%COMSPEC% /c ' + $commande
        IF @ERROR <> 0
           ? "Erreur n° " + @ERROR
           GOTO "finerreur"
        ENDIF
       
    Case $ModelDeOrdinateur = "Latitude D830                   " OR $ModelDeOrdinateur = "Latitude D820                   "
        $NomduFichierDriver = "R165804.exe"
        ? "installation du drivers touchpad à partir du fichier : $NomduFichierDriver pour 2000, XP,ou Vista"
       
        ;Décompression du fichier
        $fichieradecomp = '$NomduFichierDriver'
        $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   
       
        ;Lancement du programme d'installation silencieuse
        $commande="$dossierprov\setup.exe /S"
        ? $commande
        shell '%COMSPEC% /c ' + $commande
        IF @ERROR <> 0
           ? "Erreur n° " + @ERROR
           GOTO "finerreur"
        ENDIF

    Case $ModelDeOrdinateur = "Latitude E6500                  "
        $NomduFichierDriver = "R202446.exe"
        ? "installation du drivers touchpad à partir du fichier : $NomduFichierDriver pour 2000, XP,ou Vista"
       
        ;Décompression du fichier
        $fichieradecomp = '$NomduFichierDriver'
        $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   
       
        ;Lancement du programme d'installation silencieuse
        $commande="$dossierprov\setup.exe /S"
        ? $commande
        shell '%COMSPEC% /c ' + $commande
        IF @ERROR <> 0
           ? "Erreur n° " + @ERROR
           GOTO "finerreur"
        ENDIF
       
    Case $ModelDeOrdinateur = "hp compaq nx9105 (DU430EA#ABF)"
        ?"Pas de drivers dispo pour model nx9105"
        GOTO "fin"
       
       
    Case 1 ; Pour tous les autres cas
        ?"Pas de drivers audio dispo pour ce model : $ModelDeOrdinateur"
        GOTO "fin"
       
EndSelect


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