;installation de NERO 9 à partir du fichier Nero9.7z
;L'archive Nero9.7z étant le dossier "Nero 9" du CD d'installation original de Nero 9 préalablement compacté.
;JEAN-RENE DANIS 04-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'
;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
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
;Décompression du fichier
$fichieradecomp = 'Nero9.7z'
$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
$commande='$dossierprov\Nero9\setupx.exe'
? $commande
shell '%COMSPEC% /c ' + $commande
IF @ERROR <> 0
? "Erreur n° " + @ERROR
GOTO "finerreur"
ENDIF
;Prend la main sur une fenêtre
$nomdelafenetre = "Nero 9 - Installation"
$whilestf = 1
$lock = 1
WHILE $whilestf <> 0
sleep 1
$lock = $lock + 1
$whilestf = setfocus ($nomdelafenetre)
LOOP
sleep 1
SendKeys ("s")
? "Fenêtre de bienvenue : Francais, clique sur SUIVANT"
;Install Nero sans la barre Ask Toolbar
sleep 1
SendKeys ("s ")
? "Coche : Installer Nero sans Ask Toolbar"
SendKeys ("s ")
? "Clique sur suivant"
;Install le numéro de série
sleep 1
SendKeys ("XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX")
SendKeys ("{ENTER}")
? "Inscrit le numéro de serie de Nero 9 puis valide la fenêtre"
;Prend la main sur une fenêtre
$nomdelafenetre = "Nero 9 - Installation"
$whilestf = 1
$lock = 1
WHILE $whilestf <> 0
sleep 1
$lock = $lock + 1
$whilestf = setfocus ($nomdelafenetre)
LOOP
;Accepte les conditions du contrat de licence
sleep 2
SendKeys ("{TAB}")
SendKeys ("{TAB}")
SendKeys (" s")
? "Coche la case pour valider le contrat de licence et passe à la fenêtre suivante"
;Type d'installation Normal
SendKeys (" ")
? "Lancement de l'installation Normal."
;Prend la main sur une fenêtre
$nomdelafenetre = "100% - Nero 9 - Installation"
$whilestf = 1
$lock = 1
WHILE $whilestf <> 0
sleep 1
$lock = $lock + 1
$whilestf = setfocus ($nomdelafenetre)
LOOP
;Prend la main sur une fenêtre
$nomdelafenetre = "Nero 9 - Installation"
$whilestf = 1
$lock = 1
WHILE $whilestf <> 0
sleep 1
$lock = $lock + 1
$whilestf = setfocus ($nomdelafenetre)
LOOP
;lancement de la touche ENTER tant que la fenetre suivante existe
$nomdelafenetre = "Nero 9 - Installation"
$whilestf = 0
$lock = 1
WHILE $whilestf = 0
SendKeys ("{ENTER}")
sleep 0.1
$lock = $lock + 1
$whilestf = setfocus ($nomdelafenetre)
LOOP
;attend qu'un dossier n'existe plus
$nomdudossier = "%temp%\nro.tmp\setup\"
$whilestf = 1
$lock = 1
WHILE $whilestf <> 0
sleep 1
$lock = $lock + 1
if not exist ($nomdudossier)
$whilestf = 0
endif
LOOP
;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 + '\Nero' $ALLUSERPRG + "\Utilitaires\Nero\"
;effacement d'un dossier
$dossierasupprimer = "$dossierprov\Nero9"
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("")
|