Mode d'emploi pour le déploiement automatique de mise à jour
Bonjour,
Voici un technique que j’utilise pour automatiser le déploiement de mes bases Access sur les postes utilisateurs.
- Créer une table TVersion avec les champs suivants :
- PC, Texte courte, Clef primaire
- DateMaJ, Date/Heure
- Créer un module avec le code ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Public Const FichierRAR = " z:\BD\ MaBaseFrontale.exe" chemin du fichier .exe détaillé en point 7
Public Const FichierBAT = " z:\BD\ MonBatch.bat" chemin du fichier batch détaillé en point 9
Option Compare Database
Public Sub VerificationVersion()
Dim Rst As DAO.Recordset
Dim ssQl As String
ssQl = "SELECT * FROM TVersion where PC=" & Chr(34) & Environ("COMPUTERNAME") & Chr(34)
Set Rst = CurrentDb.OpenRecordset(ssQl)
If Rst.EOF = True Then
Rst.AddNew
Rst!PC = Environ("COMPUTERNAME")
Rst!DateMaJ = FileDateTime(FichierRAR)
Rst.Update
Call MaJ
Else
If FileDateTime(FichierRAR) <> Rst!DateMaJ Then
Rst.Edit
Rst!DateMaJ = FileDateTime(FichierRAR)
Rst.Update
Call MaJ
End If
End If
Rst.Close
End Sub
Public Sub MaJ()
MsgBox ("Une nouvelle version du logiciel à été trouvé et va être installée. Veuillez relance le programme une fois le telechargement terminée")
Shell FichierBAT, vbNormalFocus
Application.Quit
End Sub |
- Créer un formulaire Verif_Version vide avec le code suivant sur ouverture
Code:
1 2 3 4 5
| Private Sub Form_Open(Cancel As Integer)
Call VerificationVersion
DoCmd.OpenForm "Accueil" Accueil étant la fenêtre principale de ma base
DoCmd.Close acForm, "Verif_Version"
End Sub |
- Aller dans les Options Access, Base de données active et dans le champ Afficher le formulaire, indiquer Verif_Version. Cela va permettre d’ouvrir la fenetre Verif_Version au démarage.
- Scinder la base de données
- Mettre la base frontale sur un poste en local (c:\MaBaseFrontale .accdb), Je la met en principe à la racine de disque dur car c’est commun à tous les postes
- Je créer un fichier autoextractable de ce fichier avec WinRAR
- Ouvrir WinRAR
- Ajouter le fichier MaBaseFrontale .accdb à l’archive
- Onglet Général, cocher Créer une archive SFX
- Onglet Avancé, cliquer sur le bouton Option SFX
- Dans la fenêtre « Options SFX avancées », onglet Général, ajouter le chemin d’accès ( c:\ dans mon cas)
- Onglet Modes, Mode silencieux = Tout masquer
- Onglet Mettre à jour, Mode de remplacement = Remplacer tous les fichiers
- Valider avec le bouton OK la fenêtre Options SFX avancées
- Valider avec le bouton OK la fenêtre principale
- Copier ce fichier .exe sur un disque réseau (z:\BD\ pour mon exemple)
- Dans le même dossier, créer un fichier MonBatch.bat, le modifier et y mettre le texte suivant :
Code:
1 2 3 4 5 6 7 8
| exemple:
:boucle
set /a count = count + 1
if %count%==1000 goto finboucle
goto boucle
:finboucle
@echo off
cd " z:\BD\" & Start MaBaseFrontale.exe -s |
- Pour l’installation sur un nouveau poste, il vous suffit de lancer le fichier MonBatch.bat qui va automatiquement créer un fichier c:\MaBaseFrontale .accdb
- Mettre un raccourci sur le bureau
- Lancer la base (il va refaire automatiquement une mise à jour car le nouveau poste n’est pas inscrit dans la table TVersion
Pour déployer une nouvelle version, il suffit de refaire le fichier MaBaseFrontale.exe et de le remettre dans le dossier z:\BD\ (point 7-8)
Tous les postes se mettrons à jour automatiquement lors de la prochaine connexion.
Rien de plus simple !!!!