;installation de FileZilla 3.1.5.1 à partir du fichier FileZilla_3.1.5.1_win32.zip et des 2 fichiers de configuration :
;fichier-config-filezilla.xmlqui contient les options du logiciel (langue, mode de transfert FTP, passif ou actif)
;fichier-confi-des-sites-sitemanager.xml qui contient la liste des sites à installer dans le "Gestionnaire de sites"
;JEAN-RENE DANIS 24/11/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
;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'
;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 dossier de "default user"
cd "%USERPROFILE%"
cd ".."
cd "Default User\"
$DEFUSERHOME=@CURDIR
? "Chemin du dossier de 'default user' : $DEFUSERHOME"
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
;décompression d'un fichier
$fichieradecomp = 'FileZilla_3.1.5.1_win32.zip'
$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
;Copie d'un dossier
COPY "$dossierprov\FileZilla-3.1.5.1" "$PRGDIR\FileZilla\" /s
;Si le dossier "menu démarrer\Utilitaires" n'existe : le créer
If AddProgramGroup("Utilitaires", 1) = 0
? "Dossier Menu démarrer\Utilitaires créé...."
Endif
;création du raccourci
IF ADDPROGRAMITEM ('"$PRGDIR\FileZilla\FileZilla.exe"', "FileZilla", "", 0, "",0,0) = 0
? "Raccourci FileZilla créé...."
Endif
;Installation des fichiers de configuration pour "default users"
MD "$DEFUSERHOME\application data\FileZilla\"
COPY "fichier-config-filezilla.xml" "$DEFUSERHOME\application data\FileZilla\filezilla.xml"
? "Fichier de configuration de FileZilla copié pour les nouveaux profils."
COPY "fichier-config-des-sites-sitemanager.xml" "$DEFUSERHOME\application data\FileZilla\sitemanager.xml"
? "Fichier de configuration du gestionnaire des sites copié pour les nouveaux profils."
;effacement d'un dossier
$dossierasupprimer = "$dossierprov\FileZilla-3.1.5.1"
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("")
|