Code : Tout sélectionner
; ------------------------------------------------------------------------------------------------
; 1 : Intégration des chemins UNC et préparation du script pour les autres installations
; 2 : Ajout d'un fichier log sur le serveur --> Date, nom de la machine, nom de l'utilisateur, programmes installés
; ------------------------------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
; ------------------------------------------------------------------------------------------------
Dim $titre = "Installation"
Global $message = ""
Global $sUserName = "Administrateur"
Global $sPassword = "mot de passe "
Global $domaine = "domaine"
Global $UNC = "\\chemin\script"
Global $PrgInst = "" ; Programmes installés
Global $Form1 = GUICreate("Installation ou mise à jour des programmes", 623, 442, ( @DesktopWidth-623)/2 , ( @DesktopHeight-442)/2,0 , BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
Global $Label1 = GUICtrlCreateLabel("", 8, 16, 604, 417)
; ------------------------------------------------------------------------------------------------
If WinExists ($titre) Then Quitter()
AutoItWinSetTitle ($titre)
HotKeySet("^!{F10}", "Quitter") ;Ctrl + Alt + F10
GUISetState(@SW_SHOW)
; ------------------------------------------------------------------------------------------------
; Lancement des installations
; @OSversion : "WIN_2008R2", "WIN_7", "WIN_2008", "WIN_VISTA", "WIN_2003", "WIN_XP", "WIN_XPe", "WIN_2000".
; @OSArch : "X86", "IA64", "X64"
If @OSArch = "X64" Then
$HKML = "HKLM64"
Else
$HKML = "HKLM"
EndIf
; ------------------------------------------------------------------------------------------------
CCleaner()
PdfCreator()
$message &= @CRLF & "Demain mise à jour de ??? je ne sais pas encore..." & @CRLF & "Bonne journée"
GUICtrlSetData ($Label1, $message & @CRLF & "Merci de patienter" & @CRLF & @CRLF & "Christophe")
; ------------------------------------------------------------------------------------------------
; Fin des mises à jour
; ------------------------------------------------------------------------------------------------
Sleep(5000)
Quitter()
; ------------------------------------------------------------------------------------------------
; Fonctions d'installations
; ------------------------------------------------------------------------------------------------
Func CCleaner() ;3.06
;http://www.piriform.com/ccleaner/download/slim
If RegRead($HKML & "\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CCleaner","DisplayVersion")<>"3.06" Then
$message &= "CCleaner version 3.06 --> Mise à jour" & @CRLF
GUICtrlSetData ($Label1, $message & @CRLF & "Merci de patienter" & @CRLF & @CRLF & "Christophe")
RunAsWait($sUserName, $domaine, $sPassword, 0, $UNC & '\CCleaner\ccsetup306_slim.exe /S',@WorkingDir,@SW_HIDE)
If @OSArch="X64" Then
FileCreateShortcut($arcdir & "\CCleaner\CCleaner64.exe", @DesktopDir & "\Nettoyage.lnk",$arcdir & "\CCleaner", "/AUTO")
$PrgInst &= "CCleaner 3.06 X64, "
Else
FileCreateShortcut(@ProgramFilesDir & "\CCleaner\CCleaner.exe", @DesktopDir & "\Nettoyage.lnk",@ProgramFilesDir & "\CCleaner", "/AUTO")
$PrgInst &= "CCleaner 3.06 X86, "
EndIf
If FileExists (@DesktopCommonDir & "\CCleaner.lnk") then FileDelete(@DesktopCommonDir & "\CCleaner.lnk")
If FileExists (@DesktopCommonDir & "\CCleaner.lnk") then RunAsWait($sUserName, $domaine, $sPassword, 0, @comspec & ' /c del "' & @DesktopCommonDir & '\CCleaner.lnk"',@SystemDir , @SW_HIDE)
If FileExists (@DesktopDir & "\CCleaner.lnk") then FileDelete(@DesktopDir & "\CCleaner.lnk")
$message &= "CCleaner version 3.06 --> Installé" & @CRLF
GUICtrlSetData ($Label1,$message & @CRLF & "Bonne journée" & @CRLF & @CRLF & "Christophe")
Else
$message &= "CCleaner version 3.06 --> Déjà Installé" & @CRLF
GUICtrlSetData ($Label1,$message & @CRLF & @CRLF & "Bonne journée" & @CRLF & @CRLF & "Christophe")
EndIf
EndFunc ; ==> CCleaner
; ------------------------------------------------------------------------------------------------
Func PdfCreator() ;1.2.1
; http://wiki.ocsinventory-ng.org/index.php/Admin_center:Deploiement_PDFCreator
If @OSArch="X64" Then
If RegRead("HKEY_LOCAL_MACHINE64\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}","DisplayVersion") <> "1.2.1" then
$message &= "PDF Creator version 1.2.1 X64--> Mise à jour" & @CRLF
GUICtrlSetData ($Label1, $message & @CRLF & "Merci de patienter" & @CRLF & @CRLF & "Christophe")
;~ Désisntallation de l'ancienne version
RunAsWait($sUserName, $domaine, $sPassword, 0, @comspec & ' /c "C:\Program Files (x86)\PDFCreator\unins000.exe" /verysilent', @WorkingDir, @SW_HIDE)
;~ Installation de la nouvelle version
RunAsWait($sUserName, $domaine, $sPassword, 0, $UNC & '\PdfCreator\PDFCreator-1_2_1_setup.exe /LOADINF="' & $UNC & '\PdfCreator\PDFCreator.inf" /VERYSILENT /FORCEINSTALL', @ScriptDir, @SW_HIDE )
$message &= "PDF Creator version 1.2.1 X64 --> Installé" & @CRLF
GUICtrlSetData ($Label1,$message & @CRLF & "Bonne journée" & @CRLF & @CRLF & "Christophe")
$PrgInst &= "PDFCreator 1.2.1 X64, "
Else
$message &= "PDF Creator version 1.2.1 X64--> Déjà Installé" & @CRLF
GUICtrlSetData ($Label1,$message & @CRLF & @CRLF & "Bonne journée" & @CRLF & @CRLF & "Christophe")
EndIf
Else
If RegRead($HKML & "\SOFTWARE\PDFCreator\Program", "ApplicationVersion") <> "1.2.1" Then
$message &= "PDF Creator version 1.2.1 X86--> Mise à jour" & @CRLF
GUICtrlSetData ($Label1, $message & @CRLF & "Merci de patienter" & @CRLF & @CRLF & "Christophe")
;~ Désisntallation de l'ancienne version
RunAsWait($sUserName, $domaine, $sPassword, 0, @comspec & ' /c "C:\Program Files\PDFCreator\unins000.exe" /verysilent', @WorkingDir, @SW_HIDE)
;~ Installation de la nouvelle version
RunAsWait($sUserName, $domaine, $sPassword, 0, $UNC & '\PdfCreator\PDFCreator-1_2_1_setup.exe /LOADINF="' & $UNC & '\PdfCreator\PDFCreator.inf" /VERYSILENT /FORCEINSTALL', @ScriptDir, @SW_HIDE )
$message &= "PDF Creator version 1.2.1 --> Installé" & @CRLF
GUICtrlSetData ($Label1,$message & @CRLF & "Bonne journée" & @CRLF & @CRLF & "Christophe")
$PrgInst &= "PDFCreator 1.2.1 X86, "
Else
$message &= "PDF Creator version 1.2.1 X86 --> Déjà Installé" & @CRLF
GUICtrlSetData ($Label1,$message & @CRLF & @CRLF & "Bonne journée" & @CRLF & @CRLF & "Christophe")
EndIf
EndIf
EndFunc ; ==> PdfCreator
; ------------------------------------------------------------------------------------------------
Func Quitter()
;~ Sauve Log
Dim $Admin="Non Administrateur"
$ie = RegRead($HKML & "\SOFTWARE\Microsoft\Internet Explorer","Version")
If IsAdmin() Then $Admin = "Administrateur"
$file = FileOpen($UNC & "\install.log", 1 + 8 )
If $file<> -1 Then
; Ajoute la chaine
FileWriteLine($file, @YEAR & "-" & @MON & "-" & @MDAY & "; " & @ComputerName & "; " & @UserName & "; " & $Admin & "; " & @OSVersion & "; " & @OSServicePack & "; " & $ie & "; (" & $PrgInst & ")" & @CRLF)
FileClose($file)
EndIf
Exit
EndFunc ; ==> Quitter
; ------------------------------------------------------------------------------------------------