+ Ecran d'accueil
+ Accueil
+ Téléchargements
     + Graphisme
     + Présentation
     + Internet / Comm.
     + Réseau
     + Paquets Zaurus
     + Applis Android
+ Logiciels
     + qpeGPS NV
     + Simple Comm
     + MenusLAB.com
     + Supra ASCII Art
+ Articles
     + Zaurus GPS
+ Hébergement
     + Subversion
+ Livres électroniques
+ Boutique
+ Fonds d'écran
+ NewsLetter
+ Forum
+ Recherche...
+ Contact et support
     + Formulaire


Projet FrB (alpha)
Rév. : 318 / 480 (estim.)
Auteur : ng
Date : 2009-11-14
66.3%


Accueil > Sites des produits > Simple Comm



Question 5 : Comment mettre à jour SimpleComm via Active Directory ?


Sujet :

Comment mettre à jour SimpleComm via Active Directory ?



Explications et solution :

Depuis la version 1.4 finale (car les versions précédentes posaient problème pour cette manipulation), il suffit simplement de faire une copie de l'exécutable (ngssc.exe) et du (ou des) fichiers langues utilisés (vous les trouverez dans le répertoire C:\Program Files\SimpleComm\trad\ par défaut).

Voici un script d'ouverture de session que vous pouvez utiliser pour faire cette manipulation (enregistrez-le par exemple dans un fichier SC_maj.vbs) :
'//Force la déclaration des variables
Option Explicit

'//Gestion des erreurs
On Error Resume Next

'//Déclarations des variables
Dim strVersionMAJ, strVersionActuelle
Dim strSource, strDestination, oFSO

'################### CONFIGURATION DU SCRIPT ###################

'//Chemin du répertoire UNC source (doit donc être disponible depuis le réseau)
strSource = "\\serveur\MAJ\"
'//Chemin d'installation de SimpleComm sur les machines à mettre à jour
strDestination = "C:\Program Files\SimpleComm\"

'###############################################################

'//Vérification de la présence d'un \ à la fin des chemins (source & destination)
If Right(strSource, 1) <> "\" Then strSource = strSource & "\"
If Right(strDestination, 1) <> "\" Then strDestination = strDestination & "\"

'//Création d'un objet FSO, ce qui nous permettra un accès au système de fichiers
Set oFSO = CreateObject("Scripting.FileSystemObject")

'//Récupération du numéro de version de la MAJ et de la version installée
strVersionMAJ = oFSO.GetFileVersion(strSource & "ngssc.exe")
strVersionActuelle = oFSO.GetFileVersion(strDestination & "ngssc.exe")

'//Infos OK ?
If strVersionActuelle = "" Then
	'//Aucune version installée ou impossible de récupèrer les infos
	'//On affiche alors un message d'erreur
	MsgBox "Impossible de mettre à jour SimpleComm !" & vbCrLf & _
	       "Merci d'intaller/réinstaller SimpleComm manuellement", vbCritical + vbSystemModal
Else
	'//La dernière version est-elle installée ?
	If strVersionActuelle <> strVersionMAJ Then
		'//Non alors on copie l'exe
		Call oFSO.CopyFile(strSource & "ngssc.exe", strDestination & "ngssc.exe", True)
		'//Puis les traductions
		Call oFSO.CopyFile(strSource & "\trad\*.txt", strDestination & "\trad\", True)
	End If

End If
'//On détruit l'objet FSO
Set oFSO = Nothing


Voici un autre script de session qui créé en plus un fichier log vous permettant de savoir qui a installé la mise à jour :

Option Explicit
On Error Resume Next
Dim strVersionMAJ, strVersionActuelle, strFichierLOG
Dim strSource, strDestination, oFSO, oNT

'################### CONFIGURATION DU SCRIPT ###################

'//Chemin du répertoire UNC source (doit donc être disponible depuis le réseau)
strSource = "\\serveur\MAJ\"

'//Chemin d'installation de SimpleComm sur les machines à mettre à jour
strDestination = "C:\Program Files\SimpleComm\"

'//Chemin UNC du fichier log (doit donc être disponible depuis le réseau)
strFichierLOG = "\\serveur\MAJ\SC_maj_log.txt"

'###############################################################

'//Création d'un objet Network, qui nous permettra un accès à des fonctions réseaux
Set oNT = CreateObject("WScript.Network")

'//Création d'un objet FSO, qui nous permettra un accès au système de fichiers
Set oFSO = CreateObject("Scripting.FileSystemObject")

Call EcritLOG(oFSO, strFichierLOG, "########  Exécution du script sur la machine " & oNT.ComputerName & _
				   " (utilisateur : " & oNT.UserName & ") ########")

If Right(strSource, 1) <> "\" Then strSource = strSource & "\"
If Right(strDestination, 1) <> "\" Then strDestination = strDestination & "\"

strVersionActuelle = oFSO.GetFileVersion(strDestination & "ngssc.exe")
strVersionMAJ = oFSO.GetFileVersion(strSource & "ngssc.exe")

If strVersionActuelle = "" Then
    Call EcritLOG(oFSO, strFichierLOG, "Erreur : Aucune version installée ou impossible de récupèrer les infos !")
Else

    Call EcritLOG(oFSO, strFichierLOG, "Numéros de version récupérés : Actuelle=" & _
				       strVersionActuelle & ", MAJ=" & strVersionMAJ)
    If strVersionActuelle <> strVersionMAJ Then
	Call Err.Clear
	Call EcritLOG(oFSO, strFichierLOG, "Mise à jour en cours...")
	Call EcritLOG(oFSO, strFichierLOG, "Copie de l'exécutable...")
        Call oFSO.CopyFile(strSource & "ngssc.exe", strDestination & "ngssc.exe", True)
	If Err.Number <> 0 Then Call EcritLOG(oFSO, strFichierLOG, "Erreur n°" & Err.Number & " : " & Err.Description)
	Call Err.Clear
	Call EcritLOG(oFSO, strFichierLOG, "Copie des traductions...")
        Call oFSO.CopyFile(strSource & "\trad\*.txt", strDestination & "\trad\", True)
	If Err.Number <> 0 Then Call EcritLOG(oFSO, strFichierLOG, "Erreur n°" & Err.Number & " : " & Err.Description)
    Else
	Call EcritLOG(oFSO, strFichierLOG, "Aucune mise à jour nécessaire")
    End If

End If

Call EcritLOG(oFSO, strFichierLOG, "########  Fin du script sur la machine " & oNT.ComputerName & _
				   " (utilisateur : " & oNT.UserName & ") ########" & vbCrLf)

Set oFSO = Nothing
Set oNT = Nothing


'//Procédure qui ajoute une ligne au fichier LOG
Sub EcritLOG(oFSORef, strChemin, strTxt)
Dim oFichier
'//Création d'un textstream pour notre fichier
Set oFichier = oFSORef.OpenTextFile(strChemin, 8, True)
'//On ecrit la ligne à la fin avec la date et l'heure
Call oFichier.WriteLine("[" & Now & "] " & strTxt)
'//Détruit le textstream
Set oFichier = Nothing
End Sub






<< Retour






Site optimisé pour IE* et Mozilla [Firefox] en 1024x768
Copyright © by Nicolas GUILLAUME 2003-2007
Page générée en 0.227877 ms.

* excepté pour les PNG transparents mal gérés par IE


IDDN Certification