1. Avant propos

Ce document a pour objectif de satisfaire aux demandes des développeurs ayant besoin de déployer des applications développées avec Microsoft Access 2010.
Ce document a pour objectif de satisfaire aux demandes des développeurs ayant besoin de déployer des applications Microsoft Access version 2003.
Quatre autres tutoriels sont disponibles pour les versions 2000 ou 2002 (XP), 2003, 2007, et 2013 sur le forum.

Vous allez sans doute le remarquer, la mise en oeuvre et le mode de déploiement des applications Access 2010 est légèrement différente de la version précédente (2007) ; pour autant, il subsiste une certaine similitude avec le précédent assistant d'empaquetage.

Contrairement à la version 2007, l'empaquetage ne se génère PLUS depuis le Menu Microsoft Office...

Image non disponible
Bouton Microsoft Office

Mais depuis le nouvel onglet Fichier qui le remplace dans la version 2010.

Image non disponible
Onglet Fichier


C'est tout de même drôle ce phénomène de nostalgie qui surgit soudain dans cette nouvelle mouture d'Office.

Il est vrai que le bouton Microsoft Office, tant d'un point de vue ergonomique que pratique, était aussi peu parlant qu'intuitif, même pour les personnes découvrant la version 2007 et n'ayant jamais utilisé de versions antérieures de Microsoft Office...

1-1. Remerciements

Je tiens à remercier tout particulièrement toutes celles et ceux qui ont participé à la relecture de ce document en y incluant leurs remarques.

1-2. Contact

Pour tous renseignements complémentaires, veuillez me contacter directement (Argyronet) par MP.

2. Le développement de votre application (Rappel)

Lorsqu'il vous est demandé de développer une application Access, la difficulté à laquelle vous risquez d'être confronté est la mise à disposition de celle-ci sur un ou plusieurs postes cibles. Au sein de l'entreprise dans ou pour laquelle vous travaillez, vous avez la responsabilité d'un ou plusieurs projets et de fait, vous participerez de près ou de loin à la mise en œuvre de tous les paramètres pour que vos applications soient opérationnelles.

Les informations contenues dans ce document considèrent le cas suivant :

  1. 1. Vous développez une application à partir de Microsoft Office 2010 et bien entendu Microsoft Access 2010 ;
  2. 2. Vous avez installé le Package Wizard qui est disponible depuis les outils d'installation de Microsoft Office ;
  3. 3. Les postes clients possèdent ou ne possèdent pas une licence Access 2010 installée ;
  4. 4. Vous travaillez sur une plate-forme Windows XP SP3, Vista ou ultérieure.

De nombreuses phases de test sont nécessaires avant d'envisager la mise en place sur les postes clients.
Ainsi, vous devez être à même de considérer trois cas de figure en ce qui concerne les applications :

Les applications simples

C'est ce que j'appelle des petites applications de base de données où seul est prédominant le traitement des données. Les formulaires sont pratiques à utiliser mais sans look particulier et sans grande convivialité (§ « Northwind » exemple fourni en standard), des états lisibles contenant les informations attendues et l'ensemble est géré de façon semi-automatique avec quelques macros ou quelques routines VBA.

L'utilisateur sera en face d'une interface un peu plus riche qu'avec les versions précédentes par la présence du Ruban Microsoft Office et du système de navigation grâce aux onglets et au Volet. Par ailleurs, les opérations courantes se limiteront à saisir manuellement un grand nombre de données pour aboutir à ses fins. Le tout fonctionnera en partie avec l'utilisation du Ruban sur l'interface Access en arrière plan.
L'utilisateur pourra au gré de ses besoins, intervenir pour modifier ou créer des requêtes par exemple ou d'autres états à la condition que vous ne distribuiez pas un fichier compilé (accde ou mde)

Les applications avancées

C'est ce que j'appelle des applications semi-professionnelles de bases de données où sont prédominants le coté convivial et "user friendly" de votre application. Le développeur aura conçu un projet propre, doté de fenêtres agréables, inclus des boutons pour automatiser les tâches et créé un Ruban personnalisé pour chaque formulaire.

L'utilisateur bénéficiera d'un confort d'utilisation très agréable avec de nombreux automatismes, des vérifications systématiques des entrées, des contrôles auto-activés en fonction des types de données saisis.

Les états auront un rendu très soigné, les ruptures des regroupements auront été vérifiées, etc…

L'Application ne contiendra pas ou peu de macros et aucune pour les traitements des données.

Les applications professionnelles

Elles restent idéales et représentent le nirvana de l'application avancée. Elles sont dotées des caractéristiques totalement similaires aux précédentes mais seront développées avec une finition irréprochable.

C'est une approche délicate car le développeur doit oublier Access et considérer que son application est totalement indépendante.
Considérant la nouvelle interface de Microsoft Access 2010, le développeur se doit "d'oublier Access" et pour n'en détailler que quelques-uns :

  • Supprimer et remplacer les anciennes commandes de menu (DoMenuItem) même si elles restent compatibles (Cas où la base de données est un MDB) ;
  • Exploiter totalement le Ruban Microsoft Office et non partiellement, e.g. en générant un nouveau Ruban personnalisé (Voir Tutoriel de Tofalu à ce sujet) ;
  • Désactiver les fonctionnalités contextuelles ;
  • Masquer le Volet de navigation ;
  • Dans l'absolu, cacher l'instance Access pour ne laisser apparaître que l'application elle-même est un must auquel je me prêtais systématiquement dans les versions précédentes. Avec cette nouvelle version et son Ruban, je serais tenté de dire que ce n'est plus un must dans le sens où si l'on souhaite exploiter le ruban et donner un look Office 2010 à votre projet, vous ne pouvez pas envisager ce choix.

Donc, quel que soit le type d'application que vous développerez, il est envisageable que pour leur distribution, vous soyez tenu de fournir un programme d'installation automatisé.

Il est vrai que pour le cas des applications simples, il est considéré que l'utilisateur possède une version complète de Microsoft Access 2010, la fourniture du fichier accdb par le biais d'un fichier d'installation automatisé peut paraître superflue. En fait, si vous n'avez aucun composant ActiveX externe (OCX) ou aucune référence à des librairies particulières (DLL, TLB) et que tous les postes cibles (utilisateurs) sont équipés d'une version complète d'Access 2010, il suffit de distribuer simplement par copie, les fichiers (accdb ou accde).

Si votre application, quelle que soit la catégorie dans laquelle elle se range, utilise des composants spéciaux externes précités, vous devez faire en sorte que ces derniers soient fournis avec votre projet pour qu'ils puissent être inscrits dans la Base de Registre de Windows du poste client...

Notez que pour ce dernier cas et en particulier pour Windows Vista et ultérieur, les droits d'administration sont requis.

De plus, si vous envisagez de distribuer vos applications avec le Runtime Microsoft Access 2010, vous devez prendre en considération un certain nombre de paramètres. Ainsi, l'usage de la Solution d'Empaquetage et de Déploiement nommée depuis Access 2010 Package Solution désormais présent depuis le Menu Access lui-même, est là pour vous y aider même si vous pouvez envisager la distribution par un autre procédé.

Rappel : Si vous souhaitez empaqueter votre application à l'aide de Microsoft Access 2010 Solution de Package, vous devez installer son complément depuis les options d'Ajout et de suppression de programmes (XP voir l'équivalent pour les versions ultérieures) du Panneau de Configuration.
Cela est vu plus loin à la section 5.

=> Notez au passage que pour Access 2007, un téléchargement GRATUIT était nécessaire avant installation.
=> Il n'est plus question non plus d'acquérir une suite comme Visual Studio Tools (800 €) pour cela, ce qui est une excellente chose...

Par ailleurs, l'utilisation ou la redistribution du Runtime Access 2010 est gratuite et que le nombre d'utilisateurs
auquel vous pouvez distribuer ce programme n'est pas limité.

Toutes les informations à ce sujet sont abordées dans ce tutoriel.

2-1. Les tests à effectuer avant de générer un fichier ACCDE ou ACCDR

Une fois le développement terminé, vous devez lancer une batterie de tests afin d'éliminer toutes les erreurs potentielles.

Le cas typique est souvent l'omission d'un formulaire de démarrage ou celle d'une macro AutoExec ou encore l'omission de certaines références vers des objets externes.

2-2. Test de l'application comme si elle était installée sur un poste client

Le jeu de test consiste à exécuter l'application dans une situation identique à celle dans laquelle elle se trouvera après déploiement sur un poste…

2-2-1-1. ...comme s'il était doté de la version complète Microsoft Access 2010

Il ne devrait pas y avoir de grande différence avec le poste de développement depuis lequel vous avez créé l'application.

Le jeu de tests consistera alors à naviguer entre les différents formulaires, l'impression des états (attention à l'orientation des états et aussi à la notion d'imprimante par défaut), à l'exécution de l'ensemble des tâches proposées par votre application.

2-2-1-2. ...comme s'il était doté du doté du Runtime Access seul sans version de Microsoft Access 2010

Du fait que certaines fonctions Microsoft Access standards sont masquées ou désactivées dans l'environnement Runtime, vous devez vous assurer que l'application fonctionne correctement dans cet environnement avant de la distribuer.

Pour simuler l'environnement Runtime pour votre application 2010, il suffit renommer votre fichier avec une extension accdr :

- Dans le cas du projet abordé ici, l'application d'origine "Comptoir.mdb" a été convertie et renommée Frontal Comptoir 14.accdb.
- Pour simuler son usage en environnement Runtime, son nom deviendra alors Frontal Comptoir 14.accdr

Pour obtenir de nouveau une version non verrouillée de votre application, il suffira de la renommer de nouveau avec son extension standard (si bien entendu elle est au format 2007-2010).

Considérez ici que la situation est dédiée à se rendre compte comment se comportera votre application sur un poste client ne disposant d'aucune version de Microsoft Access mais seulement celle du Runtime 2010.
Dans ce cas, il n'y a pas plus de procédures de test à effectuer que celles qui sont stipulées en section 2-2-1-1 ci-avant...

2-2-1-3. ...doté du Runtime Access 2010 conjointement avec une version antérieure de Microsoft Access

Considérez ici que le poste client dispose d'une version de Microsoft Access antérieure (par exemple 2003) à celle du Runtime qui, lui, correspond à la version 2010 de Microsoft Access. Dans ce cas, vous devrez mettre en place une syntaxe particulière pour le raccourci que vous aurez à créer.
Bien que les bases de données et applications Microsoft Access 2010 possèdent une extension que leur est propre (accdb, accde, accdr), il devrait, en théorie, ne pas être nécessaire d'avoir à créer des raccourcis spécifiques...

Pour autant, le fait que vous installiez une autre version de Microsoft Access représentée ici par le Runtime, celle-ci prend la main sur tous les types de fichiers reconnus comme des bases données Microsoft Access, à savoir :

- MDB / MDE / MDA
- ACCDB / ACCDE / ACCDR / ACCDA / ACCDT / ACCDC
- ADP / ADE
- MDW

L'énorme avantage de ces différences entre les extensions 2010 et les extensions des versions antérieures est que l'on peut différencier
le programme à ouvrir selon le type de fichier sans avoir à créer forcément un raccourci...

Dans la mesure où l'utilisateur du poste sur lequel vous installez votre application 2010 avec le Runtime possède une version antérieure, vous pourrez lui apprendre à modifier les associations de fichiers depuis l'Explorateur de fichiers à partir du menu Outil/Options des dossiers (XP).

MODIFIER LES ASSOCIATIONS POUR MICROSOFT ACCESS 2010
Dans l'onglet Types de fichiers, repérez les extensions caractéristiques des applications Access 2010 (accdb, accde, acccdr) et modifiez le programme pour les ouvrir :

Image non disponible


Cliquez alors sur le bouton Modifier et sélectionnez le programme MSACCESS.EXE du dossier où est installé Office 2010 :

Par défaut, il s'agit de :

Pour Office 2010
Sélectionnez

C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE

S'il est présent dans la liste des applications disponibles, vous pouvez le sélectionner directement en repérant Microsoft Access 2010 par son icône caractéristique ; mais par acquis de conscience, il est préférable de cliquer sur le bouton Parcourir et de sélectionner le bon MSACCESS.EXE dans son dossier.

Image non disponible


Vous cliquez enfin sur OK pour valider et répétez l'opération pour chacune des extensions concernées.

MODIFIER LES ASSOCIATION POUR MICROSOFT ACCESS VERSION ANTERIEURE (Par exemple 97 à 2003)
De manière identique et toujours à partir de l'onglet Types de fichiers, repérez les extensions caractéristiques des applications Access 97 à 2003 (mdb, mde, mda) et modifiez le programme pour les ouvrir :

Image non disponible


Cliquez alors sur Modifier et sélectionnez le programme MSACCESS.EXE du dossier où est installé Office selon les modalités suivantes :

Pour Office 97 et 2000
Sélectionnez

C:\Program Files\Microsoft Office\Office\MSACCESS.EXE
Pour Office 2002 (XP)
Sélectionnez

C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE
Pour Office 2003
Sélectionnez

C:\Program Files\Microsoft Office\Office11\MSACCESS.EXE

Là aussi, vous êtes tenu de cliquer sur le bouton Parcourir pour aller chercher le bon MSACCESS.EXE selon la version installée sur le poste.

Image non disponible


Dans notre exemple, il s'agit de Microsoft Access 2003 et vous sélectionnerez donc le dossier Office11.

Image non disponible


Vous cochez alors la case intitulée:
Toujours utiliser ce programme pour ouvrir ce type de fichier

Image non disponible


Vous cliquez enfin sur OK pour valider et répétez l'opération pour chacune des extensions concernées.

INSTALLER SUR UN POSTE VIRTUEL
Si vous ne disposez pas d'un poste de test, vous pouvez alors envisager d'installer sur votre propre poste un VMWare® ou bien Microsoft® Virtual PC 2004 qui vous permettra toutes les fantaisies en matière de simulation.

Vous devrez alors installer une version typique de Microsoft Office (97 à 2003) sur ce poste virtuel puis installer derrière votre application 2010 par l'intermédiaire de votre package...
Vous procéderez alors aux essais nécessaires et aux modifications à apporter en conséquence de ce qui vient d'être cité à propos des associations de fichier.

2-3. Comment et pourquoi convertir votre projet en fichier ACCDE ?

Un fichier ACCDE est à Microsoft Access 2010 ce que le fichier MDE était aux versions précédentes de Microsoft Access. A partir du moment où votre application Microsoft Access comporte du code Visual Basic, il est conseillé de l'enregistrer comme fichier ACCDE pour verrouiller votre projet.

Cette opération permet de compiler tous les modules et d'empêcher quiconque d'intervenir sur votre code source, celui-ci étant masqué ou de modifier la structure des formulaires et des états..

Parallèlement à cela, la base de données occupera moins de place sur le disque dur et le fait que le code soit compilé va augmenter les performances de l'ensemble.

2-3-1. Caractéristique d'un ACCDE:

- Modification, création de formulaires, d'états ou de modules désactivés ;
- Modification, ajout ou suppression des références aux bibliothèques d'objets ou aux bases de données interdites avec bien entendu, l'impossibilité d'intervenir sur le code à l'aide des propriétés ou des méthodes de Microsoft Access ;
- L'importation ou l'exportation d'objets tels que formulaires, états ou modules est impossible ;
- Seules les tables ou les requêtes peuvent être exportées ou importées vers ou depuis les bases de données ;

Attention, avant de créer un ACCDE, compilez toujours votre projet à partir du menu Débogage de VBE.

Image non disponible

Dans tous les cas créez systématiquement une copie de sauvegarde de votre fichier accdb avant de procéder à la conversion en ACCDE et ce par sécurité. Notez qu'il est impossible d'inverser la compilation de accdb en accde, c'est à dire, de récupérer un fichier .accdb à partir d'un fichier .accde !

2-3-1-1. Précisions supplémentaires

Dans la plupart des cas, il est fortement recommandé de scinder votre application en deux bases distinctes à savoir une application frontale qui est le programme utilisateur et l'autre qui représente les données.

Que ce soit en utilisation locale ou en réseau, vous établirez une liaison entre l'application frontale et le fichier accdb contenant les tables.

Vous pouvez verrouiller l'accès à la base de données contenant les tables
En générant une version ACCDR de votre base de données, vous imposerez à quiconque d'ouvrir celle-ci en mode d'exécution.
Pour ce faire, modifiez simplement l'extension d'un fichier de base de données .accdb par .accdr. Vous obtiendrez alors une version "verrouillée"
de votre base de données Access 2010.

ACCDR n'est pas une protection !
Notez que la modification de l'extension n'est pas une protection.
N'importe qui connaissant "le truc" peut changer l'extension afin de pouvoir accéder aux tables (dans ce cas précis)...

Si l'utilisation est prévue pour être en réseau, vous poserez alors la base de données contenant les tables dans un dossier dédié sur le serveur et établirez la liaison avec l'application frontale depuis cette ressource réseau.

 

Les liaisons sont inscrites en dur dans l'application frontale.

Prenez donc en compte qu'il est fortement recommandé de générer le fichier ACCDE avec les liaisons réelles des tables comme si vous étiez
sur le poste client sans quoi, aucune donnée ne sera disponible au moment de l'installation et une erreur sera levée.


J'entends par liaisons réelles les liaisons UNC (\\Server\Shared Path) et non pas celles définies avec un lecteur mappé comme H:\, P:\ ou encore U:\ lettres communément employées dans les entreprises.

Dans les situations professionnelles dans lesquelles je suis confronté, j'emploie systématiquement la sélection des liaisons avec les conventions UNC même si les accès aux serveurs sont mappés, auquel cas, je recopie le nom soit depuis l'Explorateur, soit à l'aide d'une fonction maison qui me renvoie le chemin UNC du lecteur passé en paramètre.

Liaisons des tables Microsoft Access.

Pour afficher ou modifier les liaisons de votre Base de données, il vous suffit d'activer le Gestionnaire de tables liées depuis le bouton du même nom dans l'onglet Outils de base de données...

Image non disponible

La boîte de dialogue fera aussitôt son apparition:

Image non disponible



La distribution d'une application dont les données sont liées nécessite que vous preniez la précaution de travailler dans un contexte identique en mode développement. Dans mon cas ici, je sais que mon projet sera installé dans C:\Les comptoirs, donc, je m'arrange pour que ma Base de données ne contenant les tables se situe au sein du même dossier et dans un sous-dossier que je nommerais pour la circonstance Data. J'y ferais alors référence par un rattachement dynamique ce qui fait que les liaisons ne seront jamais rompues.

2-3-2. Comment scinder ma base de données avec Access 2010 ?

Pour pouvoir scinder votre base de données en deux bases distinctes dont l'une ne contient que les tables et l'autre tous les autres objets de l'application, vous pouvez procéder de la façon suivante :


Méthode manuelle :

  • Effectuez [au préalable] une copie de votre application...
  • Quittez votre application...
  • Dans le dossier où sera stockée votre application, créez une base de données vide (par exemple : C:\Les comptoirs\Data\Dorsale Comptoir 14.accdb)
  • Nommez cette base avec un préfixe vous permettant de différencier les deux bases de données (par exemple DB ou Data) ;
  • Depuis cette base de données vierge, importez toutes les tables de votre application actuelle exceptées celles devant rester locales;
  • Refermer la base de données puis rouvrez votre application ;

Vous pouvez alors supprimer toutes les tables locales de votre application que vous avez exportées après vous être assuré de leur intégrité.

Cliquez ensuite sur le bouton Access de l'onglet Données externes pour pouvoir établir la liaison avec l'autre base de données...

Image non disponible

Rappel :

Je vous rappelle ici que si votre base de données dorsale est présente sur un serveur, il vous appartient de définir les liaisons avec les conventions UNC comme stipulé ci-avant.

Dans la boîte de dialogue qui vous permet de sélectionner la nouvelle source de données, cliquer sur le bouton Parcourir...

Image non disponible


et sélectionnez la base de données que vous venez de créer. Dans la situation de ce tutoriel, le dossier concerné est le sous-dossier Data.

Image non disponible



ATTENTION
Si la base de données possède un mot de passe, il vous sera demandé avant de pouvoir établir la liaison.

Image non disponible


Sans ce mot de passe, la liaison ne sera pas effectuée.

Le chemin complet et le nom de fichier doivent apparaître dans la zone de texte de cette même boîte de dialogue. Vous pouvez alors cocher l'option appropriée nommée
"Lier à la source de données en créant une table attachée", puis cliquez sur le bouton OK.

Image non disponible


Dans la boîte de dialogue suivante, la liste des tables de la base de données fait son apparition ; vous les sélectionnez [toutes] puis cliquez sur le bouton OK pour valider.

Image non disponible


Les tables sont dès lors attachées à votre application.

Image non disponible

Remarquez les icônes pourvus d'une petite flèche caractéristique des tables liées Microsoft Access.


Méthode automatique et assistée :
Vous avez également la possibilité de procéder à cette séparation par un Assistant disponible dans Access 2010...

Remarque:

Cet Assistant existait dans les versions précédentes de Microsoft Access.
Vous le trouviez dans le Menu Outils ; il se nommait "Fractionner une base de données".

Pour ce faire, cliquez sur le bouton Base de données Access depuis le ruban Outil de base de données,

Image non disponible

et suivez les instructions à l'écran...

Image non disponible



Au sein de votre projet, vous retrouvez alors toutes vos tables à l'identique avec la petite flèche bleue, symbole caractéristique d'une table Access liée.

Remarque :
Dans le cas d'une liaison établie avec un autre type de base de données ou via ODBC, cet icône change d'aspect.

Vérifier, rétablir ou modifier les liaisons des tables

En admettant que vous ayez déjà établi une liaison avec une base de données externe comme il se doit mais que celle-ci n'est pas située au bon endroit, vous pouvez rattacher les tables... Pour ce faire, utilisez le Gestionnaire d'attaches et vérifiez l'emplacement.

Image non disponible

Si vous jugez que la modification est nécessaire :

  • Sélectionnez toutes les tables concernées ;
  • Cochez alors la case "Toujours demander un nouvel emplacement" ;
  • Cliquez ensuite sur le bouton OK ;
  • Localisez la nouvelle base de données...
  • Validez.
Image non disponible



La liaison s'établira d'elle même avec les nouvelles tables si peu que celles que vous avez sélectionnées soient présentes dans la base en question.

Image non disponible

Si vous développez votre application en dehors de l'entreprise, il est probable que vous rencontriez une erreur au niveau de la liaison car l'accès au réseau ne sera pas possible.

2-3-3. Création du fichier ACCDE

Pour générer votre fichier ACCDE et après avoir vérifié et compilé votre code, vous sélectionnerez depuis l'onglet Fichier, l'élément Enregistrer et publier après quoi vous repérez la catégorie Enregistrer la base de données sous et cliquez sur l'élément "Créer ACCDE"...

Image non disponible


La boîte de dialogue s'ouvre et Microsoft Access vous demandera de confirmer le nom du fichier pour le générer.

Image non disponible


Par défaut, le nom proposé est celui du fichier .accdb mais muni d'une extension .accde.

Remarque :
Une fois que vous avez cliqué sur le bouton Enregistrer pour créer votre fichier, l'application originale, c'est-à-dire celle avec
l'extension accdb se recharge aussitôt après.
Donc, prenez les précautions qui s'imposent pour empêcher l'exécution de certains processus automatisés tels que par exemple la macro AutoExec...

Vous pouvez ici changer le dossier dans lequel vous souhaitez créer le fichier ACCDE; Par défaut, ce dossier est celui où a été créée l'application.

Remarque :
Vous ne pouvez générer un fichier .accde qu'à partir d'un fichier Microsoft Access 2010.
Si vous ouvrez un fichier d'une version antérieure, vous ne serez qu'en mesure de créer un fichier MDE.
En effet, Microsoft Access 2010 ajuste les contrôles du ruban en fonction de la version du type de fichier ouvert.

L'application est une version
Access 2010
L'application est une version
antérieure à 2010
Image non disponible Image non disponible

2-3-4. Impossibilité de générer un fichier ACCDE

Comme je vous l'ai stipulé dans la remarque ci-avant, vous ne pourrez créer un fichier accde qu'à partir d'une version Microsoft Access 2010 de votre application.

Vous ne serez pas non plus n mesure de générer un fichier de type dans les cas suivants :

  1. 1. La base de données est de version antérieure à Access 2010 (l'option n'existe pas)
  2. 2. Une erreur de compilation dans le code est présente (référence de bibliothèque invalide, erreur de syntaxe, etc.)

Dans les deux images ci-après, vous avez un exemple caractéristique de deux messages précisant que la génération du fichier ACCDE n'est pas réalisable.


Sans en préciser la raison...

Image non disponible

mais parfois, il vous la renvoie :

Image non disponible

Je recommande donc à tous les développeurs d'envisager de mettre en place des gestionnaires d'erreurs idoines dans la plupart des procédures et fonctions sauf dans certaines classes ou sous-procédures mais également de poser les instructions Option Explicit
dans toutes les pages de codes.

2-4. Sécurisation de votre Projet

Ce petit chapitre sur la sécurité est loin d'être exhaustif. Un authentique article sur la sécurité irait beaucoup plus loin…
Cette section a pour seul but de vous montrer que la notion de sécurité doit être prise en compte de façon sérieuse.

2-4-1. Sécurisation de votre application

Si vous distribuez votre application à des utilisateurs qui disposent de la version 2010 de Microsoft Access sur leur PC, plusieurs précautions s'imposent pour protéger votre application et ce dans le but d'empêcher les éventuelles modifications des objets et du code ou de perturber par inadvertance le fonctionnement de l'application.

Microsoft Access 2010 ne permet plus d'utiliser la sécurité de niveau utilisateur pour les bases de données au formats 2010 (.accdb ou .accde).
En revanche, cette fonctionnalité est toujours disponible si vous ouvrez une base de données d'une version antérieure...
Cela signifie que si vous voulez bénéficier de la sécurité utilisateur comme dans les versions antérieures à la version 2007 pour votre application,
vous devez travailler à partir d'un fichier MDB et non d'un fichier ACCDB.
Vous pourrez alors cliquer dans l'onglet Compléments du Ruban dans lequel vous retrouverez les menus des anciennes versions de Microsoft Access.

Image non disponible



Pour obtenir davantage d'informations à ce sujet, vous pouvez inscrire la rubrique Sécurité utilisateur puis Fonctionnement de la sécurité avec les bases de données de versions précédentes d'Access ouvertes dans Access 2010 dans l'aide de Microsoft Access 2010...

Vous pourrez dans ce seul cas sécurisez tous les objets de votre base de données à l'aide de l'Assistant Sécurité avec la même méthode que dans les versions précédentes de Microsoft Access.
Pour obtenir toutes les informations sur la compréhension et sur la mise en oeuvre de la sécurité sous Microsoft Access, je vous recommande de lire le tutoriel de Fabrice Constans.

En dehors de cela, pour sécuriser votre application, il vous faut :

- Configurez toutes les propriétés de démarrage de la base de données susceptibles de permettre aux utilisateurs d'accéder au Volet d'Exploration et par la même au mode Création.

- Donnez à la propriété AllowBypassKey la valeur False pour désactiver la touche Maj. Cette précaution interdit aux utilisateurs d'ignorer les propriétés de démarrage ou la macro AutoExec.
Vous trouverez un exemple illustré pour paramétrer la propriété AllowBypassKey par le biais de Visual Basic en cliquant ici...

- Protégez le code Visual Basic par un mot de passe (environnement VBE, Menu Outils, Propriétés de Votre projet, onglet Protection)...

Si vous choisissez de mettre en œuvre la protection de votre projet avec la propriété AllowBypassKey, prévoyez pour vous-même une possibilité
de désactiver celle-ci sans quoi, vous ne pourrez plus accéder (facilement) à votre application. Par exemple, vous pouvez ajouter un bouton caché
dans un formulaire qui permet de passez cette propriété à True.

2-4-2. Les propriétés de protection d'une application:

Il existe plusieurs propriétés dont vous pouvez écrire l'affectation par programme en VBA.

Parmi elles:

  • - Utiliser les touches spéciales d'accès (AllowSpecialKeys),
  • - Autoriser la vue du code sur erreur (AllowBreakIntoCode),
  • - Afficher la fenêtre de base de données (ShowStartupDBWindow)
  • - Autoriser les modifications des barres d'outils/menus (AllowToolbarChanges).

Pour configurer ces propriétés, cliquez sur l'onglet Fichier puis cliquez sur le l'élément Options puis choisissez Base de données activee ou bien définissez ces options par programme en VBA.

Rappel
Si votre base de données contient du code Visual Basic, distribuez-le sous forme de fichier ACCDE. En effet, le fait d'enregistrer la base de données
sous forme de fichier ACCDE a pour avantage de compiler tous les modules, de supprimer le code source et de compacter la base de données
de destination tout en protégeant l'application de toutes modifications.

Donc, dans certains cas, si vous souhaitez laisser les utilisateurs la possibilité de créer leurs propres formulaires ou leurs états, ne distribuez pas votre application au format ACCDE et ne verrouillez pas les options de démarrage...

Pour plus d'information à propos de la sécurité de l'accès à la base de données elle-même, veuillez vous rendre sur le forum où toutes ces spécifications sont détaillées par Maxence Hubiche par exemple ici: Les clauses de sécurité Access

3. Déploiement et empaquetage de votre application

Vous pouvez envisager deux cas de figure pour le déploiement de vos applications. La section déploiement expliquée dans ce document concerne les deux cas avec ou sans Runtime puisque au final, le principe reste le même:

3-1. Ambigüité concernant la génération de packages

Vous verrez ci-après comment générer un package d'installation mais il ne faut pas confondre les deux rubriques qui existent au sein de la fonction Enregistrer et publier à savoir :
- Empaqueter et signer qui permet de générer une version signée de votre application
- Solution de package qui permet de créer un package d'installation que le projet soit signé ou non

Il est vrai que d'un point vue purement étymologique, la confusion en a laissé coi certains d'entre vous où vous m'écriviez soit dans le forum, soit en privé (c'est pas bien) qu'aucun MSI n'était généré ; et pour cause, la rubrique était mal interprétée et pour ma part, mal traduite...

Un fichier empaqueté et signé possède une extension qui lui est propre : accdc (à ne pas confondre avec le groupe ;o)
Ce procédé requiert un signature numérique souscrite auprès d'un organisme agréé.

Pour la démonstration, je vous propose de voir ce que cela donne avec le générateur de signatures Microsoft

Depuis l'onglet Fichier, sélectionnez Enregistrer et publier puis cliquez sur le rubrique Empaqueter et signer si elle est disponible (Si elle en l'est pas, voyez plus bas comment installer le complément de Solution de Package).

Image non disponible



Une boîte de dialogue vous demande de sélectionner un certificat ; n'en ayant pas, je vais le créer avec SelfCert.exe

Image non disponible



Depuis le menu Démarrer, localiser Certificat numérique pour les projets VBA...

Image non disponible



Donnez un nom circonstanciel à votre certificat puis valider.

Image non disponible



Relancez la même procédure d'empaquetage signé où vous sélectionnez cette fois ci, le certificat que vous venez de créer.

Image non disponible



Enregistrer alors la solution signée...

Image non disponible



...dans le dossier de votre choix.

Image non disponible



Il est par ailleurs possible de créer un package d'installation avec le projet signé plutôt qu'un ACCDE

3-2. Préparation en vue d'exploiter l'application avec le Runtime Microsoft Access.

Si vous souhaitez déployer votre application en vue d'une utilisation avec le Runtime Microsoft Access, quelques précautions sont à prendre :

  1. 1. Que vous ayez, avant d'avoir compilé et enregistré votre application en .ACCDE, testé celle-ci en mode Runtime.
  2. 2. Que vous fassiez en sorte que le Runtime soit installé sur le poste utilisateur (cette option étant automatisable).

3-2-1. Préparation en vue d'exploiter l'application avec la licence Microsoft Access.

Si vous souhaitez déployer votre application en vue d'une utilisation avec une licence Microsoft Access, vous devez vérifier que la version de Microsoft Access du poste utilisateur est identique à la vôtre.

3-2-1-1. Comment obtenir des outils nécessaires au déploiement de solutions Microsoft Access ?

Pour pouvoir bénéficier des outils nécessaires au déploiement d'applications Microsoft Access 2010, vous devez installer le module Package Solution depuis le Panneau de Configuration de Windows en sélectionnant Microsoft Office 2010 puisque ce dernier n'est pas installé par défaut.

Image non disponible



Contrairement aux versions précédentes qui, pour la version 2000 nécessitait Microsoft Office Developer (voir Runtime 2000 ici) et pour la version 2003, Microsoft Visual Studio Tools (voir Runtime 2003 ici), l'outil d'empaquetage et de déploiement pour Access 2010 fait partie intégrante de la suite Microsoft Office 2010 ;
il faut juste l'installer.

Pour le Runtime Access 2010, en revanche, il est nécessaire de le télécharger...
Notez au passage que comme pour la version 2007, il est GRATUIT.

Vous pouvez le télécharger depuis le site de Microsoft en cliquant ici ou bien directement ...

Il est important de considérer que l'installation du Runtime 2010 requiert un système d'exploitation

Systèmes d'exploitation pris en charge :
Windows 7;
Windows Server 2003 R2 (32-Bit x86);
Windows Server 2003 R2 x64 editions;
Windows Server 2008 R2;
Windows Server 2008 Service Pack 2;
Windows Vista Service Pack 1;
Windows XP Service Pack 3.
Note : Seul Access 2010 Runtime 32 bits est pris en charge sur Windows XP Service Pack 3.

3-2-1-2. Installer l'outil de Solution de Package sur votre poste

Microsoft Access 2010 Solution de Package est conçu pour les développeurs professionnels qui créent et souhaitent déployer facilement des applications Microsoft Access 2010. Il peut se coupler au Runtime Access 2010 permettant de distribuer des applications Microsoft Access sur des postes dépourvus de la version complète de Microsoft Access 2010.

Avant d'installer Microsoft Access 2010 Solution de Package, prenez la précaution de quitter tous les programmes encore actifs et notamment Microsoft Access, même si Windows Installer vous demande de relancer Access s'il était encore ouvert alors que vous aviez lancé l'installation...

Pour installer l'Assistant Package, veuillez vous rendre à la section 5...

4. Présentation de l'Assistant Empaquetage et déploiement

Cet outil quasi identique à celui de la version 2007 à la différence qu'il est en français.
Pour ceux d'entre vous qui l'avez déjà utilisé, vous le constaterez rapidement.

L'outil servant à générer vos packages se nomme Package Solution;
il est conçu pour vous aider à déployer des programmes d'installation de vos projets et applications Access 2010 par la génération de fichiers CAB & MSI et d'un programme d'installation (nommé Setup.exe) en vue de les distribuer.

Il a été relooké par rapport à la version 2003 et la mise en œuvre de packages en est facilitée.

Si vous savez que les postes clients ne disposent pas de la version complète de Microsoft Access 2010, cet assistant peut inclure le Runtime Microsoft Access 2010 de 3 façons différentes:

  • Pas de Runtime : nécessite de Microsoft Access 2010 soit présent sur le poste ;
  • Par téléchargement si toutefois Access n'est pas installé sur le poste ;
  • Directement auquel cas il doit être disponible à un emplacement défini ;

L'assistant regroupe tous les composants dont votre application a besoin pour fonctionner et automatise la plupart des tâches de création et de déploiement des fichiers tout en vous laissant la possibilité d'apporter les adaptations nécessaires pour les machines des utilisateurs finaux.

5. Déploiement de votre application (avec le Runtime Access 2010)

 

Pour déployer vos applications avec un programme d'installation, installez d'abord Microsoft Access 2010 Solution de Package s'il ne l'est pas...
Pour ce faire, lancez le module d'Ajout et de suppression de programmes depuis le Panneau de Configuration (XP)

Il est aisé de constater que module n'est pas disponible en cliquant simplement sur l'onglet Fichier puis sur Enregistrer et publier...

Image non disponible



Une fois le Panneau de configuration chargé,...

Image non disponible



...repérez et sélectionnez Microsoft Office 2010 Professional Plus puis cliquez sur le bouton Modifier

Image non disponible



Cochez alors l'option Ajouter ou supprimer des composants

Image non disponible



Déployez ensuite l'arborescence depuis le noeud Microsoft Access et localisez la rubrique Assistant Package que vous installez à partir du disque dur.

Image non disponible



Patientez quelques instants (minutes selon le poste que vous utilisez)

Image non disponible



Lorsque c'est terminé, fermez l'ensemble des applications Office ouvertes et relancez Microsoft Access 2010.
Le complément est dès lors installé.

Attention

Si votre poste est pourvu d'une autre version de Microsoft Access que 2010 et qu'entre temps, vous lancez
celle-ci, déjà vous allez patienter le temps nécessaire pour que Windows Installer effectue son travail mais en plus, le complément Package Solution risque de ne pas être disponible au démarrage de Microsoft Access 2010.

Il est donc non recommandé de lancer une autre version de Microsoft Access 2010 lorsque vous êtes sur le point de créer un package d'installation.

Pour activer le complément depuis Microsoft Access, veuillez suivre les instructions stipulées ici.

5-1. Comment activer le complément Solution de Package ?

 

Si effectivement, l'assistant de Package n'est pas accessible, c'est que :

- soit le complément n'est pas installé, auquel cas, recommencez l'installation

Image non disponible



Pour vous assurer que son installation est effectuée, d'un point de vue Système, vous pouvez accéder au Registre de Windows et vous rendre sur la clé :

 
Sélectionnez

    HKEY_CURRENT_USER\Software\Microsoft\Office\Access\Addins\AccessPW.14
Image non disponible



- soit le complément n'est pas activé, auquel ca, vous devez l'activer en suivant la procédure ci-après :

Depuis l'onglet Fichier, cliquez sur le bouton Options puis sur la rubrique Compléments

Image non disponible

puis sur le bouton Atteindre afin d'accéder à la liste des compléments installés.

Image non disponible


Dans la liste des compléments doit apparaître le complément en question à savoir, Microsoft Access Package Solution Wizard 2010 COM Addin.

Cochez alors la case puis appuyez sur OK

Image non disponible


 

5-2. Lancer l'Assistant Solution de Package

Une fois l'outil de Solution de Package installé, cliquez l'onglet Fichier et repérez pour cliquer sur la commande Enregistrer et publier...


L'ensemble des rubriques affairant aux options d'enregistrement et de publication apparaissent.
Cliquez alors depuis la rubrique Empaqueter et distribuer l'élément Solution de package puis de nouveau sur le bouton intitulé du même nom à droite.

Image non disponible

L'assistant Package Solution démarre alors...

5-2-1. Démarrage de l'Assistant Solution de Package

Dès que la fenêtre fait son apparition, vous avez le choix :

  • De déployer directement dans le dossier proposé par défaut s'il s'agit d'une première utilisation sinon, le déploiement du package s'effectuera dans le dossier que vous aviez défini et sauvegardé comme dossier d'empaquetage par défaut lors de la précédente utilisation.
  • De déployer un modèle sauvegardé ce qui permet un gain de temps non négligeable notamment en ce qui concerne les éventuelles omissions quant à la sélection des fichiers à joindre à votre package
Image non disponible

Le dossier par défaut est situé dans le dossier Mes documents (il n'a pas été renommé depuis la version 2007) :

 
Sélectionnez

C:\Documents and Settings\Argyronet\Mes documents\Access Developer Extensions\Install Packages

où, ici, Argyronet représente mon nom de login de session Windows.

5-2-2. Processus de déploiement

L'Assistant crée l'empaquetage et le programme d'installation (setup.exe) correspondant, en référençant tous les fichiers requis. A l'issue de cette étape, un ou plusieurs fichiers MSI et CAB vont être créés et accompagnés des fichiers d'installation associés.

Le déploiement d'une application consiste à transférer une application empaquetée vers le support de distribution choisi ou vers un site Web depuis lequel elle pourra être téléchargée. Pour distribuer votre application, vous avez plusieurs possibilités :
- L'enregistrer sur un support amovible, un lecteur local ou réseau ou encore un site Web,
- Vous pouvez copier manuellement les fichiers sur un CD ROM ou sur partage réseau ou bien la publier manuellement sur l'emplacement Web approprié.

L'Assistant Solution de Package propose des raccourcis et exécute automatiquement certaines des tâches qui vous incombent dans la procédure manuelle de déploiement.

1. Déploiement dans un répertoire

Si vous optez pour un déploiement dans un répertoire, le système vous demande de choisir un répertoire local ou réseau dans lequel copier les fichiers pour qu'ensuite les utilisateurs puissent accéder au programme d'installation.
Par la suite, si vous souhaitez graver l'ensemble sur un CD Rom, vous devrez utiliser un logiciel de gravure approprié.

2. Déploiement sur le Web

Vous pouvez, une fois votre package généré, envoyer votre empaquetage sur le Web via FTP par exemple.

Les fichiers et répertoires situés dans le répertoire local devront être enregistrés dans le répertoire Web avec la même arborescence que ce jeu de répertoires de base (en respectant la casse des noms de fichier - UNIX le requiert).

Dans le cas d'une installation directe via une page WEB dédiée, il est préférable de mettre à disposition que le fichier MSI qui a lui seul encapsule l'ensemble des fichiers nécessaires à l'installation mais dépourvu du Runtime.

Il n'est en effet pas possible d'exécuter le SETUP.EXE depuis le Web : cela génère une erreur traduite par l'impossibilité de trouver les fichiers requis - qui lorsqu'ils se téléchargent dans le dossier temporaire, il se voient greffés de le nom suivi d'un [1] soit par exemple, setup[1].ini au lieu de setup.ini.
Si vous avec un grand lot de fichiers embarqués en plus du MSI, il est recommandé de générer un fichier compressé (ZIP ou RAR) auto-extractible qui, par sa ligne de commande, pourra lancer Setup.exe.

Cliquez alors sur le bouton Suivant (Next)
La fenêtre suivante fait son apparition...

Image non disponible

5-2-3. Choix du fichier à empaqueter.

Le choix s'établit à partir d'une liste déroulante qui contient tous les fichiers que vous avez déjà exploités auparavant ce qui, dans certains cas, vous permet une sélection rapide du fichier à empaqueter. Bien entendu, lors de la première utilisation, cette liste est vide. Vous pouvez remarquer que chacune des rubriques comporte une petite étoile rouge * qui signifie que la rubrique est obligatoire.

Pour plus de commodité, nous allons considérer que la fenêtre est composée de trois zones :
- La première zone détermine le nom du fichier et le répertoire d'installation
- La seconde zone détermine si vous voulez inclure ou non le Runtime
- La troisième zone détermine les options du raccourci.

5-2-3-1. Sélection du projet à empaqueter (ici la base de données exemple Les Comptoirs)

Vous devez alors cliquer sur le bouton Parcourir afin d'aller chercher votre fichier (*.accd*) dans le dossier correspondant.

Sélection du fichier de Base de données (Application frontale) à empaqueter

Lorsque vous avez cliqué sur le bouton Parcourir afin de sélectionner le fichier que vous voulez empaqueter, vous pouvez choisir tout type de solution Microsoft Access ayant les extensions spécifiques qui les caractérisent.

Normalement vous êtes censés sélectionner un fichier de type ACCDE (ou ACCDC s'il est signé) que vous auriez préalablement créé à partir de l'application elle-même et après avoir contrôlé son bon fonctionnement comme il se doit.

Pour pouvoir créer un fichier de ce type, reportez-vous à la section créer un fichier ACCDE.

Image non disponible


Au moment de la sélection du fichier, vous devez choisir celui qui fait office d'Application.

Pour ce qui concerne la base dorsale (si toutefois votre base est scindée) vous devrez l'inclure dans le package s'il s'agit d'une application vouée à être utilisée par une seule personne ou plus exactement, sur un seul poste de travail...
En effet, vous ne pouvez pas stipuler que vous souhaitez installer un ou plusieurs fichiers sur un lecteur réseau depuis l'Assistant mais uniquement des sous-répertoires.

Il est dans bien des cas recommandé de mettre en place une routine de première utilisation qui se traduit par la mise en oeuvre d'une fonction qui référence et installe les tables liées à l'aide ou non de l'utilisateur.
Ici, toutes les fantaisies sont ouvertes :
- Concevoir une table locale qui contient l'ensemble des tables liées
- Inscrire le nom des tables dans un fichier INI ou dans le Registre
- [...]
et mettre en place le jeu de fonctions idoines pour le rattachement dynamique des tables.

Dans notre exemple, l'application Frontale sera installée dans le dossier C:\Les comptoirs et la Base de données Dorsale ne contenant les tables, dans le dossier C:\Les comptoirs\Data ;

5-2-3-2. Choix du dossier d'installation

Vous pouvez déterminer le chemin initial d'installation du programme. Par défaut, il s'agit du répertoire de l'utilisateur de la session Windows.
Il peut être intéressant ici de changer ce dossier cible au profit de Program Files si vous installez sur un poste Windows XP et de laisser l'option initiale si vous installez sur un poste Windows Vista ou Seven mais pour ces derniers, l'inconvénient de la lecture seule est levé...
Aussi, c'est pourquoi j'ai intentionnellement et pour vous montrer cette possibilité, choisi la rubrique Lecteur système (Tous les utilisateurs).

Vous déterminez ensuite le sous-répertoire. De manière générale, vous choisissez un sous-répertoire qui porte le nom de votre application.

Dans cet exemple je vais utiliser comme sous-répertoire Les comptoirs.

5-2-3-3. Choix de l'inclusion du Runtime.

C'est également ici que vous allez pouvoir déterminer si vous souhaitez inclure ou non le Runtime Microsoft Access 2010 selon trois options.

- Si Microsoft Access 2010 est présent sur le poste cible, cochez l'option 1

- Pour inclure le Runtime par téléchargement si Access n'est pas présent sur le poste de destination, vous devez cocher l'options 2 :
Nécessite le téléchargement de Microsoft Access 2010 Runtime....

- Pour inclure le Runtime depuis le fichier "AccessRuntime.exe" dont vous fournissez l'emplacement qui provoquera la génération d'un fichier ACCDR, vous devez cocher l'options 3
Ne requiert rien. Installez Microsoft Access 2010 Runtime.

Vous devez alors disposer de l'exécutable correspondant dans un dossier spécifique que vous préciserez...

Image non disponible


Toute application ou tout programme Microsoft installés sur un poste de travail sont soumise à une licence. Bien que le Runtime Microsoft Access est gratuit et permet la distribution et l'exploitation de vos applications développées à travers un mode de fonctionnement équivalent à celui de la version complète de Microsoft Access, il n'en est pas moins doté d'une licence qui se traduit par l'acceptation des termes de celle-ci lors de l'installation du Runtime.

5-2-3-4. Définition de l'application à empaqueter

Cliquez sur le bouton Parcourir pour inscrire la base de données (Application) à empaqueter.

Choisissez ensuite le Dossier d'installation racine. Dans ce tutoriel, j'ai sélectionné Lecteur système (Tous les utilisateurs) de manière à ce qu'il n'y ait pas de dissociation entre les différents utilisateurs.
Il vous appartient de choisir le dossier en conséquence de vos droits d'administration d'une part et ceux des utilisateurs d'autre part.

Vous renseignerez alors le Sous-dossier d'installation. Pour plus de commodité, saisissez un nom qui est similaire au nom de l'application. Dans notre exemple, le dossier se nomme Les comptoirs

La zone grisée Exemple d'emplacement d'installation représente le résultat obtenu une fois l'empaquetage terminé.

Image non disponible

Ne tenez pas compte de l'illustration telle qu'affichée à l'écran ci-dessus, je l'ai intentionnellement agrandie et remodelée de manière à ce qu'elle s'affiche en entier.
Vous, vous aurez très certainement à user des barres de défilement horizontale et verticale pour afficher le contenu en entier.

5-2-3-5. Détermination des options de raccourcis

Une fois toutes les options d'installation définies, la boîte de dialogue enrichie doit être similaire à celle ci-dessous.

Image non disponible

Ne tenez pas compte de l'illustration telle qu'affichée à l'écran ci-dessus, je l'ai intentionnellement agrandie et remodelée de manière à ce qu'elle s'affiche en entier.
Vous, vous aurez très certainement à user des barres de défilement horizontale et verticale pour afficher le contenu en entier.



Les options de raccourcis se définissent par 2 cases à cocher et 4 zones de texte :

  • Menu Démarrer : Défini si vous souhaitez qu'il existe un raccourci dans le Menu Démarrer
  • Bureau : Défini si vous souhaitez qu'il existe un raccourci sur le Bureau
  • Nom du raccourci : Défini le nom que vous souhaitez donner à votre raccourci (pour qu'il soit plus parlant que le nom du fichier ACCDE)
  • Icône : Vous permet de sélectionner une icône pour votre racourci qui est par défaut celui de l'application Access défini en fonction de l'extension
  • Macro de démarrage : Vous permet de définir la macro qui doit être exécutée lors du chargement de l'application
  • Valeur de la commande VBA : Vous permet de définir des arguments de ligne de commande via Command$ qui peuvent être lus lors du chargement de l'application

5-2-4. Sélection des fichiers à ajouter à votre Package

La fenêtre de l'étape suivante se décompose en deux zones :
- La partie du haut concerne les fichiers que vous souhaitez inclure dans votre package
- La seconde à définir les options de clés dans la Base de Registre.

Fichiers supplémentaires
Si toutefois vous avez choisi d'inclure le Runtime dans le package, le fichier AccessRuntime.exe sera ajouté dans le dossier "Files" du package d'installation.

En revanche, les autres fichiers qui concernent plus particulièrement votre application, à savoir les fichiers d'aide, les éventuels documents annexes, les images, les icônes et tout autre type de fichiers dont votre application a besoin pour fonctionner ne sont pas prévus dans le package. Il vous faut alors les inclure manuellement en les sélectionnant comme vous avez sélectionné préalablement le fichier à empaqueter.

La fenêtre ci-dessous vous permets d'ajouter les fichiers supplémentaires...

Image non disponible



- Pour pouvoir ajouter les fichiers il suffit de cliquer sur le bouton Ajouter (Add) et sélectionnez, ensembles, les fichiers que vous voulez ajouter au package.
- Pour pouvoir supprimer un fichier qui a été ajouté à la liste il suffit de cliquer sur le bouton Supprimer (Remove) une fois l'élément sélectionné dans la liste.

Image non disponible



Une fois que vous avez sélectionné tous les fichiers à inclure avec votre package, ceux-ci apparaissent un à un dans la liste avec respectivement leur chemin source, leur nom et une zone dédiée à l'installation dans un sous répertoire spécifique.

Lorsque vous sélectionnez les fichiers à inclure dans votre package, ceux-ci se trouvent dans un certain répertoire : Par défaut, ces derniers seront installés dans le dossier de l'application, même s'il s'agit de composants tels que des librairies ou assimilé. La source dans laquelle ils ont été puisés ne définit pas la destination, contrairement à la version de l'outil d'empaquetage 2000 que, de loin, je considère être le mieux conçu, en tout cas sur ce point.

En parallèle à cela, vous pouvez définir des sous-dossier cibles :
=> par exemple, définir que vous souhaitez stocker les fichiers d'aide dans le dossier .\Aide et/ou les images dans le dossier .\Images.

Structure du chemin d'installation
Sélectionnez

   %Lecteur%\ %Dossier% \ %Nom du répertoire de votre Application% \ %Nom du sous répertoire%

Dans mon exemple, l'application Les comptoirs exploite ses données depuis sous dossier .\Data.
Si les fichiers source sont situés dans différents répertoires, il vous faudra procéder à l'ajout de façon successive.

Si vous ne spécifiez aucun sous-dossier d'installation, les fichiers ajoutés sont copiés dans le dossier racine de l'application

Clés du Registre supplémentaires
Pour la partie concernant les Clés du Registre supplémentaires, un niveau expérimenté est requis. Pour plus d'informations concernant la Base de Registre, il vous faut comprendre le concept et la structure de cette dernière. Si toutefois vous ignorez totalement ou partiellement son fonctionnement, je vous conseille de laisser les options par défaut si vous ne savez pas comment procéder.

Normalement, vous n'avez pas à toucher ces options puisque lorsque vous installez une application, par défaut, un certain nombre de données et de paramètres se logent dans les sections HKEY_CLASSES_ROOT, d'autres dans les HKEY_CURRENT_USER et enfin tout ce qui concerne le programme lui-même dans les sections HKEY_LOCAL_MACHINE.

5-2-4-1. Le package n'inclut et n'inscrit pas les bibliothèques référencées

Lorsque vous empaquetez une solution Microsoft Access 2010, la base de données devrait être accompagnée de ses dépendances (bibliothèques et composants utilisés par votre projet) mais malheureusement, ce n'est plus le cas...

J'ai donc contacté Microsoft à Redmond pour tenter de solutionner cette régression au regard du véritable outil d'empaquetage de la version 2000.

En réalité, ce dernier était payant certes mais efficace et véritablement professionnel ;
avoir la gratuité du 2010 (comme celui du 2007 qui est dans le même cas) est très bien mais cela l'est beaucoup moins si l'on ne peut déployer les composants qui accompagnent vos projets de façon native.
Il n'existe donc pas de solution à proprement parler autour de l'Assistant Empaquetage 2010.
Ainsi que je l'avais laissé entendre, le seul moyen de déployez les composants externes, même signés tels que le contrôle Calendrier 9.0 (MSCAL.ocx), mais aussi vos propres DLL ActiveX (celles que vous auriez développé ou celles développées par des tiers), vous devrez vous débrouiller pour les déployer et les inscrire (si nécessaire) par un processus externe dédié, en générant par exemple un package de déploiement spécifique.
Pour ce faire, vous pouvez utiliser un outil d'empaquetage comme celui fourni avec Visual Basic 6.0 ou bien celui disponible dans avec Visual Studio .Net 2003.

5-2-4-1-1. Comment mettre en place un autre package ?

Pour mettre en place un package dédié au déploiement des bibliothèques qui s'enchaîne avec l'exécution de l'installation du package Access 2010, vous devez modifier le fichier SETUP.INI présent dans le dossier Files\Setup du dossier généré par Solution de Package.

En dessous de la section [MSI], vous inscrivez une section nommée :

ChainedInstall_# où # représente un chiffre entre 1 et 9

Je précise entre 1 et 9 car je n'ai pas pu obtenir le plafond du nombre de sections possible et je me permets de supposer que vous n'aurez pas plus de 9 packages à installer en chaîne pour une même application ou alors, il ya des petites choses à revoir dans votre projet.
Vous commencerez donc le nom de cette section avec le chiffre 1 s'il n'y en a qu'une, 2 pour deux et ainsi de suite. Dans l'exemple ci-après, je souhaite lancer deux programmes d'installation une fois que mon application sera installée, à savoir :

- Setup.exe chargé d'installer mes librairies ; il est situé dans le chemin \Files\MyLibraries\

et

- SaveAsPDFandXPS.exe chargé d'intaller le complément PDF/XPS de Microsoft ; il est situé dans le chemin \Files\PDF\

Les clés utilisées :

TaskName : défini le nom de l'installation chaînée
TaskType : défini le type d'exécutable
Path : spécifie le chemin cible, à partir du dossier Files
IgnoreReturnValue : En cas d'erreur, mettez 1 si vous souhaitez continuer à installer les autres installations chaînées et 0 sinon.

___________________________________________________________________________________________________________________________________________

Exemple de SETUP.INI modifié avec 2 installations chaînées
Sélectionnez

[MSI]
MSI=\Files\FrontalComptoir14.msi

[ChainedInstall_1]
TaskName=Installation des librairies
Path=\Files\MyLibraries\Setup.exe
TaskType=EXE
IgnoreReturnValue=0

[ChainedInstall_2]
TaskName=PDF & XPS Macro complémentaire
TaskType=EXE
Path=\Files\PDF\SaveAsPDFandXPS.exe
IgnoreReturnValue=0

[Product]
ProductCode={FA3ADB6A-A3A9-48A4-8AD9-F7AA8EFB876C}
ProductName=Les comptoirs
ProductVersion=2.5.0
SkipLangCheck=1

[Display]
Display=full
CompletionNotice=Yes

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Les autres clés utilisables :

CmdLine : permet de spécifier des paramètres au moment de l'exécution du package. Par exemple, /quiet lance une installation silencieuse.
Vous pouvez exécuter votre package manuellement avec le paramètre /? pour connaître l'ensemble des commandes possibles.

Reboot : Si une installation chaînée nécessite un redémarrage, affectez la valeur 1 sinon ne spécifiez pas cette clé ou bien mettez 0.
L'installation chaînée suivante, si elle existe, reprendra une fois l'ordinateur redémarré.

5-2-5. Définition des propriétés générales de votre Package

La fenêtre de l'étape suivante se décompose en 4 zones :

  • Propriété générales : Ce sont les propriétés générales ; vous définissez ici le nom du produit, la langue et le fichier contenant les clauses du contrat de licence de l'utilisateur final CLUF (ou EULA en anglais)
    Le langage utilisé par votre application est défini par défaut contrairement à la version 2003.
    Coté CLUF, un fichier au format RTF doit être rédigé ; il contient les informations relatives à la licence d'utilisation du logiciel ou de l'application.
  • Information sur les fonctions :
  • Ce sont les informations sur l'installation personnalisée ; Vous indiquez les mentions devant apparaître en cas d'installation personnalisée Une installation personnalisée est une installation réservée en générale aux personnes ayant un niveau de compétence avancée en matière
    d'informatique et plus particulièrement de Windows.
    Elle donne droit à définir manuellement des paramètres qui sont définis par défaut par le Setup.
    Chaque fois vous installez une application Microsoft, vous avez le choix entre différents modes :
    les plus courant étant Par défaut, Personnalisé et Minimum

    Notez ici qu'il est exceptionnel d'avoir à définir des options d'installation personnalisée pour une application Microsoft Access.

  • Informations sur Ajout/Suppression de programmes : Ce sont les informations devant apparaître lors de la l'ajout de (composant) ou la suppression du programmes ;
    Vous définissez l'éditeur, la version du produit, la personne à contacter, les adresses Web de l'aide, du support en ligne et des mises à jour éventuelles et enfin les informations complémentaires relatives à ces éléments
  • Propriété de fichier pour le package Windows Installer : Vous définissez les informations concernant le package du programme d'installation lui-même
  • Options avancées :
    - La première rappelle les informations sur l'installation personnalisée que vous avez spécifié dans la fenêtre précédente.

    - La seconde vous permet de définir de façon plus détaillée les informations concernant le package du programme d'installation :
    Le titre, le sujet, l'auteur du projet, les mots clés et les commentaires...

    - La troisième permet de définir une image pour l'accueil de l'écran lors de l'installation.
    Les zones Product Code et Upgrade Code sont définie automatiquement par l'Assistant où un lien HyperText vous permet de consulter ces informations.
Image non disponible

Ne tenez pas compte de l'illustration telle qu'affichée à l'écran ci-dessus, je l'ai intentionnellement agrandie et remodelée de manière à ce qu'elle s'affiche en entier.
Vous, vous aurez très certainement à user des barres de défilement horizontale et verticale pour afficher le contenu en entier.

Tous les éléments constitutifs nécessaires à la génération de votre package sont terminées ici.
Cliquez sur le bouton OK pour terminer

5-2-6. Sauvegarde du modèle et génération du Package

C'est ici la dernière étape et l'Assistant Solution de Package : elle vous propose de sauvegarder votre modèle dans le seul but de pouvoir le réutiliser.

Image non disponible

5-2-6-1. Erreur durant la génération de votre package

Une erreur inattendue s'est produite

Un problème survient lorsque vous êtes en train de générer le package qui se traduit par un message fort peu parlant où il est inscrit "Une erreur inattendue s'est produite"

Image non disponible

Sans plus d'explications, vous ne pouvez rien faire de et votre package n'est pas créé.
Pour autant, dans le dossier Z:\Access Developer Extensions\Install Packages, vous retrouvez les fichiers et dossiers qui correspondent au package généré soit
dans notre exemple : FrontalComptoir14 sans qu'il y ait un fichier MSI.

Image non disponible



Microsoft a résolu ce problème dans un correctif que vous devez télécharger à partir de cette pageDescription du package de correctifs Access 2010 (accessde-x-none.msp): 14 décembre 2010 datée du 14 décembre 2010.

Il est également possible que cet autre message apparaisse si vous retentez de régénérer le package par répétition alors que l'erreur n'est pas corrigée.

Image non disponible


Une fois que vous avez téléchargé le correctif, qui se traduit par l'expédition d'un mail de confirmation après avoir validé un lien, vous exécuter le programme.
Dans le mail que vous avez reçu se trouve un mot de passe que vous devrez fournir durant l'installation.

Image non disponible


Comme souvent et même avec Microsoft, les patchs correctifs ne sont pas signés.
Pour autant, dans le cas présent, vous pouvez exécuter le logiciel

Image non disponible


Il s'agit d'un fichier auto-extractible.

Image non disponible



Ce fichier est protégé par un mot de passe qui vous a été transmis par email.

Image non disponible


Inscrivez le mot de passe en respectant la casse puis appuyez sur OK.
Pour installer ce correctif, vous devez bien évidement disposer de la version 2010 de Microsoft Access installée.

Image non disponible


L'installation démarre aussitôt...

Image non disponible


Le message de fin d'installation s'affiche au bout de quelques de secondes.


Vous pouvez alors relancer Microsoft Access 2010 où vous disposez du complément Package Solution corrigé.

Image non disponible


Revenez alors au Lancement de l'Assistant Solution de Package pour reprendre intégralement la génération.

Si vous avez sauvegardé votre package, vous pouvez cliquer sur le bouton "Chargement des paramètres de l'assistant à partir d'un fichier de modèle sauvegardé" au début de l'assistant. Voyez la section suivante pour plus de détails.

5-2-6-2. Sauvegarde effective une fois le correctif appliqué

Donc, une fois tous les éléments du package, cliquez sur le bouton OK pour terminer...

Aucune fenêtre de fin de procédure ne fait son apparition.
Personnellement, je trouve qu'une petite barre de progression dans le formulaire aurait été appréciée

Une fois généré, l'Explorateur de fichiers s'ouvre en vous présentant le dossier du package dès lors empaqueté et prêt à être installé ou déployé depuis un autre support ou lecteur...

Image non disponible


Cette opération équivaut à l'opération de sauvegarde des scripts de la version 2000 de l'Assistant Solution de Package pour Office 2000.
La seule différence réside dans le fait qu'ici, le fichier généré est au format XML avec une extension adepsws.

Image non disponible



Le modèle sera sauvegardé dans le dossier suivant :

 
Sélectionnez

    %Documents and Settings%\%Nom de l'utilisateur%\Mes documents\Access Developer Extensions\Saved Wizard Settings\%Nom du projet%.xml

5-2-7. Vérification du Package généré

Dans le dossier que vous avez défini se trouvent les fichiers nécessaires à l'installation de votre application.

Image non disponible


Dans le sous répertoire Files se trouvent les fichiers MSI et CAB de votre application ainsi que le Runtime si vous l'avez inclue à votre package.

5-2-8. Création d'un fichier AutoRun pour votre CDRom

Contrairement à la version de l'Assistant Empaquetage et Déploiement 2000, vous n'avez plus besoin de générer un fichier AutoRun manuellement pour votre Package si toutefois vous proposez un CD Rom d'installation.

En effet, cet Assistant génère ce fichier AutoRun.inf automatiquement pour vous, ce qui permet au programme d'installation d'être lancé automatiquement à condition que le Service de Notification d'Insertion de CD sur le poste client soit activé.

Ce fichier est à poser sur la racine du CD Rom gravé avec votre projet.

5-2-8-1. Pour concevoir un fichier Autorun manuellement

Si toutefois vous souhaitez créer ou modifier un fichier Autorun, prenez un éditeur de texte comme Notepad ou autre et inscrivez-y au minimum les lignes de code correspondant à vos paramètres comme dans l'exemple suivant :

 
Sélectionnez

[autorun]
open = Setup.exe
icon = Comptoirs.ico

Il est bien entendu que le programme setup.exe tout comme l'icône Comptoirs.ico se situent sur la racine du CD Rom si vous stipulez le contenu comme tel. Vous enregistrez ensuite ce fichier sous le nom Autorun.inf et l'incorporez dans la liste des fichiers de votre programme de gravure de CDRom.

6. Evolution de votre Package

6-1. Gestion des modèles de l'Assistant

Lorsque vous travaillez avec l'Assistant Solution de Package, vous pouvez créer et stocker des Modèles en cours de génération. Un modèle est un fichier XML dont l'extension est adepsws. Il contient les sélections et définitions que vous avez effectuées au cours d'une session d'empaquetage (ce que l'on a vu juste avant). Vous pouvez alors réutiliser un empaquetage lors de sessions ultérieures de l'Assistant pour le même projet.

L'utilisation des modèles assure des gains de temps intéressants.

Chaque fois que vous créez un empaquetage, il est recommandé de sauvegarder la procédure dans un Modèle.

6-1-1. Avec cette option, vous pouvez effectuer diverses opérations

- Visualiser la liste de tous les modèles d'empaquetage générés.
- Renommer un modèle
- Créer une copie d'un modèle sous un nouveau nom.
- Supprimer un modèle dont vous n'avez plus besoin.

Lorsque vous supprimez un modèle d'empaquetage, l'Assistant ne pourra plus générer de packages créés à partir de ce modèle

Pour pouvoir le redéployer, vous devrez empaqueter de nouveau ce projet.
Veillez donc à ne supprimer que les modèles dont vous êtes sûr de ne plus avoir besoin.

6-2. Modification ou évolution de votre projet

Il est très probable que vous ayez à faire évoluer certaines fonctionnalités de votre projet.

Dans ce cas, il faudra le redéployer sur le poste client si vous avez ajouté des composants ou référencé une DLL qui n'y figuraient pas dans la version initiale

Ceci peut être un inconvénient car il sera alors indispensable de désinstaller l'application initiale sur le dit poste.
En effet, si l'on souhaite travailler proprement, il ne faut ne jamais réinstaller une application sans l'avoir entièrement désinstallée d'abord.

Image non disponible


On ne peut généralement plus désinstaller (proprement) une précédente application si plusieurs installations hétérogènes se sont succédées sans qu'elles aient été désinstallées d'abord.

Il est à noter alors que si votre client ou les postes concernés fonctionnaient avec le Runtime Microsoft Access, la désinstallation de l'application
ne supprime pas le Runtime.

Sinon, il est vrai que dans 90% des cas, la simple fourniture du fichier ACCDE (ou accdb si vous n'avez pas créé de accde) à copier dans le répertoire de destination est suffisante.
Là, vous pouvez donc procéder à la mise à niveau de votre application sur le poste client par la distribution à travers un petit VBScript ou un simple fichier .bat que vous rédigerez auparavant.

Cela reste la méthode de loin la plus rapide, surtout en réseau sur de nombreux postes tous identiques...

Sachez aussi qu'il existe des solutions de déploiement automatisées par le biais de logiciels spécifiques...

6-2-1. Modification de votre projet

Si vous êtes amené à modifier votre application de Base de données, il vous faut intervenir sur le projet accdb.

Vous ouvrez donc votre base accdb, apportez les corrections ou les suppléments nécessaires, protégez ensuite votre projet au niveau du code VBA même si le projet doit être compilé dans un ACCDE.

De là, vous enregistrez le tout pour enfin générer un nouveau fichier ACCDE.

Le nouveau fichier ACCDE que vous venez de générer, ainsi que tous les fichiers que vous avez modifiés (fichiers d'aide, images…), sont censés être resté dans le répertoire source d'origine.

Si toutefois vous avez modifié un fichier quelconque dans un autre répertoire, il vous faudra le copier dans le dossier source de l'application afin de remplacer l'existant de manière à ce que l'Assistant Solution de Package le prenne en considération.

Tous les fichiers que vous modifiez dans ce répertoire doivent porter le même nom que les fichiers ayant été ajoutés au package.

Si vous ajoutez des fichiers non inscrits dans le modèle du package, vous devrez les ajouter manuellement lors de la session de l'Assistant
Solution de Package, sans quoi, ils ne seront pas pris en compte lors de la génération du package, sauf si vous les inscrivez directement dans le XML.

6-2-2. Réempaquetage de votre projet modifié

L'Assistant Solution de Package 2010 ne permet plus de régénérer rapidement vos jeux de fichiers CAB et MSI à partir d'un simple fichier Batch comme dans les versions 2000 et 2003, ce qui est fort dommage...

Pour régénérer un package, vous devrez alors lancer l'Assistant Empaquetage et Déploiement à partir d'Access 2010 comme pour une première utilisation mais cette fois, en sélectionnant votre modèle que vous êtes censé avoir sauvé.
Ce fichier modèle doit porter le nom de votre projet ou plutôt celui que vous avez stipulé durant les étapes de génération de votre empaquetage.
Il possède une extension ".adepsws" : dans mon exemple, il s'agit de Les comptoirs.adepsws.

Si vous avez modifié votre ACCDE au niveau des DLL et autres composants, il est indispensable de fournir un nouveau MSI et non la simple copie du ACCDE mis à jour.

6-2-2-1. Regénération du package après modification ou évolution

Pour pouvoir régénérer votre package, vous passez par le même déroulement, à savoir l'onglet Fichier puis sur l'élément Enregistrer et publier comme vu à la section Lancement de l'Assistant Solution de Package...

Cliquez alors sur le bouton "Chargement des paramètres de l'assistant à partir d'un fichier de modèle sauvegardé" pour charger le fichier XML (*.adepsws) en question.

Image non disponible


Vous sélectionnez le fichier adepsws situé dans le répertoire proposé par défaut ou celui que vous avez choisi préalablement pour la sauvegarde.

Image non disponible


Vous passez en revue les différentes étapes en apportant les éventuelles corrections, notamment sur la version et cliquez sur OK pour terminer...

Image non disponible


Tout comme précédemment, l'Explorateur de fichiers sera affiché avec le contenu du Package...

6-3. Enregistrement de votre Package sur une source d'installation

Lorsque votre package est prêt, vous pouvez le stocker sur une source réseau, un CD Rom afin de faire en sorte qu'il puisse être installé sur un poste client. Vous pourrez également inclure d'autres fichiers comme par exemple Acrobat Reader pour le cas où vous fourniriez un guide d'utilisation au format PDF.

En tout état de cause, votre package doit contenir au minimum les éléments suivants :

- Setup.exe

Le dossier Files dans lequel se trouve le fichier MSI de votre projet et un dossier Setup qui contient un fichier INI correspondant.
(pour mon exemple FrontalComptoir14.msi)

Le dossier Setup ne contient plus, comme dans la version précédente de l'Assistant Empaquetage et Déploiement pour Office 2000,
les fichiers inclus dans le CAB.

Et si vous avez prévu de proposer l'installation du Runtime, le dossier Files contiendra alors :

- AccessRuntime.exe
- Et bien entendu, le fichier MSI de l'application à installer…

7. Tester son programme d'installation

Une fois que vous avez terminé le processus d'empaquetage et produit des supports de distribution pour votre application, vous devez tester votre programme d'installation.

Pour ce test, choisissez une machine qui ne dispose pas déjà des fichiers de votre application ni des contrôles ActiveX requis par celle-ci. De plus, il est conseillé de tester l'installation sur différents systèmes d'exploitation.

Vous pouvez pour ce genre d'opérations, envisager d'utiliser des logiciels de Machines Virtuelles qui s'avèrent être d'un grand secours pour des simulations multiples et ce, à travers plusieurs systèmes d'exploitation.

7-1. Pour tester votre programme d'installation depuis un CD ROM ou un volume

- Insérez le CD.ROM dans le lecteur approprié…

ou bien,

- Depuis le bureau, sélectionnez le menu Démarrer, choisissez Exécuter, puis tapez D:\setup.exeD:\ est le lecteur source…

ou encore

- Cliquez deux fois sur Setup.exe depuis l'Explorateur de fichiers.

Image non disponible

8. Exemple d'installation sur un poste client

Si vous installez depuis un CD Rom et que la notification d'insertion automatique est activée, la procédure d'installation automatique est lancée.

Sinon, vous devrez accéder manuellement et à partir de l'Explorateur de Fichiers sur le CD Rom ou depuis la source d'installation du disque dur ou du réseau et localiser le fichier SETUP.EXE.

8-1. Cas de figure où l'on souhaite installer le Runtime sur le poste

Si vous tentez de lancer le SETUP.EXE sur un poste dépourvu d'Access ou de son Runtime version 2010, un message d'erreur vous informe que vous devez vous procurer le programme d'installation du Runtime. Ceci est du au fait que vous avez coché l'option 2 au lieu de l'option 3.

Image non disponible



L'installation est alors annulée et vous cliquez sur Terminer pour fermer.

Pour le cas de figure qui suit, il est supposé que vous avez embarqué le Runtime dans le package d'installation considérant que le client ne possède pas de licence Microsoft Access 2010.

Vous double-cliquerez de façon identique sur le programme Setup.exe et le Runtime 2010 s'installe de lui même du fait qu'il est joint au package et l'installation est un peu plus longue qu'une installation simple.

Image non disponible



Le programme vérifie la présence du Runtime mais aussi le Système d'Exploitation.

Du fait que le système d'exploitation n'est pas celui attendu, un message me le notifie.
Dans le cas présent (XP), je n'ai pas d'autre choix que de migrer vers le Service Pack 3 après quoi, j'ouvrirais l'Explorateur de fichier pour y exécuter depuis le dossier Files de mon dossier d'empaquetage le programme permettant d'installer le Runtime 2010

En conséquence, assurez-vous toujours que le poste cible est pourvu du système d'exploitation compatible.

Image non disponible



Pour autant, l'application est installée avec succès, si je puis dire, certes, mais elle ne peut pas être utilisée.
Voir la section Erreur particulière : Utilisation impossible pour visualiser un exemple de comportement en rapport.

Image non disponible

Les illustrations ci-dessus représente une installation effectuée dans un environnement de test Windows XP SP2 dans un VMWare® où il n'existe aucune version d'Access installée.

8-1-1. Exécution du Setup dans ses détails

Pour lancer l'installation, exécutez le programme SETUP.EXE...

Image non disponible


L'Installation va donc installer d'abord le l'application puis, si nécessaire, le Runtime suivi de toutes les opérations de mise à niveau de Windows et notamment la Base de Registre…

Image non disponible


Si vous avez sélectionné une image pour votre Package, celle-ci est utilisée comme image de présentation :

Image non disponible


La fenêtre spécifie ce qui va être installé...

Cliquez alors sur le bouton Suivant et acceptez les termes de la licence représentés par le fichier RTF que vous avez sélectionné durant la génération de votre Package qui correspond à la zone de texte EULA ou CLUF selon la version.

Image non disponible

8-1-2. Etape 2 : Coordonnées de l'utilisateur et de la société

A ce stade, vous seront demandés les noms et société de l'utilisateur ou plus précisément les informations relatives au poste de travail.

Image non disponible

8-1-3. Etape 3 : Mode d'installation (Typique ou personnalisée)

Choisissez ici le mode d'installation (Typique ou personnalisée) ; Souvenez-vous, je vous l'ai précisé au moment de la génération du package, il est très exceptionnel d'avoir à définir une installation personnalisée pour une application Microsoft Access dont vous êtes l'auteur. L'option par défaut étant Typique, cliquez alors sur Par défaut.

Image non disponible

8-1-4. Etape 4 : Démarrage de l'installation

Ici vous validez le lancement de l'installation. Cette étape étant la dernière, vous ne pourrez pas revenir en arrière après avoir cliqué sur Installer (Install).

Image non disponible

8-1-5. Etape 5 : Progression de l'installation

La barre de progression indique le niveau d'installation et mentionne de temps à autre les différentes étapes du processus.

Image non disponible

C'est le dernier où moment vous pouvez annuler la procédure en cliquant sur Annuler.

Dans ce cas précis, l'analyse détermine les éléments devant encore être installés, en l'occurrence ici, le Runtime...

Image non disponible


Quelques bonnes secondes suffisent à achever l'installation...

8-1-6. Etape 6 : Fin de l'installation

 

Lorsque l'installation de l'application est terminée, deux cas de figure se présentent :

- soit l'installation ne nécessite pas de Runtime, auquel cas vous pouvez directement lancer votre application...

Image non disponible



- soit le Runtime doit être installé et le processus démarre dès que vous avez coché l'acceptation du contrat et que vous avez cliqué sur Continuer

Image non disponible



La progression de l'installation suit son cours...

Image non disponible



Et la dernière étape se traduit par cet affichage.

Image non disponible



Vous cliquez alors sur Fermer et là aussi, vous pouvez ouvrir votre application

8-1-7. Etape 7 : Repérage des éléments installés

Si vous avez coché les options appropriées, alors un raccourci sur le Bureau et dans le menu Démarrer sont accessibles.
Il vous suffit de les ouvrir pour accéder à l'application.

Raccourci sur le Bureau Raccourci dans le Menu Démarrer
Image non disponible Image non disponible

8-2. Cas de figure où le Runtime ou Microsoft Access sont déjà présents sur le poste

Pour ce cas de figure, il est supposé que le Runtime ou bien une version complète de Microsoft Access tous deux de la version 2010, sont déjà installés sur le poste client. Il sera alors inutile d'inclure le Runtime dans votre Package d'installation généré par l'Assistant Solution de Package mais dans le doute, choisissez l'option 2 où le téléchargement est possible si le Setup détecte que son installation est nécessaire...

Dans tous les cas, c'est le programme du Setup sui se charge de déterminer s'il faut ou non installer le Runtime.

Rappel :
Le Runtime 2010 ne sera pas installé si le Setup détecte une version existante de Microsoft Access 2010.

La procédure d'installation sera alors plus rapide et démarrera directement.

9. Les tests à effectuer sur un poste de test

Une fois l'installation terminée, exécutez le programme installé pour vous assurer de son bon fonctionnement.

En général, vous n'êtes pas à l'abri de surprises inattendues et c'est le meilleur moyen de s'en rendre compte avant de délivrer le package à votre client ou à l'équipe d'utilisateurs de votre entreprise.

Veuillez alors revenir à la Section 2 relatant des tests préalables.

9-1. Test de l'application installée sur un poste…

Le jeu de test consiste à exécuter votre application depuis le poste sur lequel vous l'avez installé…

9-1-1. ...doté de la version complète de Microsoft Access

Il ne devrait pas y avoir de grande différence avec le poste de développement depuis lequel vous avez créé l'application.

Le jeu de test consistera alors à naviguer entre les différents formulaires, l'impression des états (attention notamment à l'orientation des états et aussi à la notion d'imprimante par défaut), à l'exécution de l'ensemble des tâches proposées par votre application.

9-1-2. ...doté du Runtime Access seul sans aucune version de Microsoft Access

Si le poste client ne dispose pas d'une version complète de Microsoft Access, il semble évident que vous avez embarqué le Runtime dans le package d'installation SETUP.EXE. Le Runtime est alors résidant sur le poste client et se comporte comme si une version d'Access était installée sauf que celle-ci est dépourvue des fonctionnalités de conception.

Dans ce cas, il n'y a pas plus de procédures de test à effectuer que celles qui sont stipulées en section 9.1.1 ci-avant.

9-1-3. ...doté du Runtime Access conjointement avec une version différente de Microsoft Access

Ici, on considère que le poste client dispose d'une version de Microsoft Access antérieure à celle du Runtime 2010.

Dans ce cas, vous devez mettre en place une syntaxe particulière car l'Assistant Solution de Package 2010 ne génère pas de raccourci approprié pour ce cas de figure.

Pour ce faire, soit vous le créez manuellement, accompagné des options de ligne de commande nécessaires pour démarrer Microsoft Access Runtime 2010 ou bien de modifier les associations de fichier comme cela a été spécifié auparavant...

Cas particulier pour un environnement réseau

Je vous déconseille en cas d'utilisation en réseau de mettre votre application frontale sur un serveur.

Outre le fait que dans ce cas, plusieurs personnes peuvent partager les mêmes formulaires et autres objets, les temps de chargement et d'exécution seraient horrifiques !

Vous devrez alors déplacer la Base de données ne contenant que les tables sur le serveur dédié car le setup ne sera pas le faire nativement... L'application frontale qui est liée à cette base sur chaque poste utilisateur sera installée dans le dossier Program Files ou dans le dossier du profil selon ce que vous avez choisi durant la génération du Package...

A début du document, je vous ai recommandé de travailler dans le contexte réel lors du développement de votre application, à savoir développer
votre projet sur votre poste tout en ayant déposé la base de données décentralisée dans un dossier dédié sur le serveur s'il s'agit d'une application
multiutilisateur ou dans le dossier Program Files\Nom de l'Appli s'il s'agit d'une appli mono-utilisateur...
Toutefois, pour un confort de développement, il peut être préférerable de travailler totalement en local et envisager de scinder la base de données
plus tard lorsque le projet tire à sa fin dans sa phase de développement.
En cours de développement pour un cas de figure multiutilisateur, cela permet de se rendre compte notamment des temps de réponse de l'ouverture
de certains formulaires exécutant des requêtes lourdes, ce qui permet alors d'envisager de les optimiser...

9-1-4. ...doté d'une version 2007 de Microsoft Office

J'aborde ici un sujet un peu plus délicat dans le sens où la version antérieure à Office 2010 est sortie il y a près de 3 ans... Du fait qu les fichiers de type accd* sont du même format lorsqu'il s'agit d'Office 2007 ou 2010, je serais en droit de me dire qu'il ne devrait pas y avoir de problème de compatibilité. Oui, c'est exact, il n'y a pas de problème parce que si vous ouvrez une base Access créée sous Access 2007, elle s'ouvre sans problème dans une version 2010 sans qu'il y ait d'avertissement d'antériorité de version.

Toutefois, Microsoft a préféré considérer le fait que la compatibilité 2010 vs 2007 n'était peut-être pas parfaite et souhaitant émettre des réserves sur ce point, il est vrai qu'il est préférable de s'assurer du bon fonctionnement de son projet.

Donc si vous distribuez un package déployé avec Access 2010, qu'il soit composé du fichier MSI seul ou bien le lot complet (setup.exe), à un utilisateur dont le poste est pourvu de la version complète de Microsoft Access 2007 ou de son Runtime, vous serez confronté à la problématique de fournir impérativement le Runtime 2010 sans quoi, il sera impossible à l'utilisateur d'installer votre package.



Image non disponible


Résumé des situations :

- Si le poste est pourvu d'Access 2010 ou du Runtime 2010 => Package 2010 (MSI) : Installation sans problème
- Si le poste est pourvu du Runtime Access 2007 => Package 2010 (MSI) : Installation impossible*
- Si le poste est pourvu d'Access 2007 => Package 2010 (MSI) : Installation impossible*

Il est probable, suite à une de mes demandes, qu'un service pack Office 2010 fasse l'objet d'un révision dans ce sens.
Aussi, je ne manquerais pas de faire évoluer ce paragraphe en conséquence des évolutions sur ce sujet...

* Il vous faut fournir le Runtime 2010 avec votre package

9-2. Erreur d'exécution au cours des tests

Vous n'êtes pas à l'abri de surprises en matière de bugs et d'erreurs concernant votre application nouvellement installée sur le poste de test. Si vous n'en rencontrez pas, tant mieux. Les plus courantes sont, en général, liées à une omission de la part du développeur vis à vis de l'application et son environnement.

9-2-1. Quelques exemples :

- Vous pouvez très bien voir une erreur qui se traduit par le dysfonctionnement d'un ruban personnalisé. Vous devez alors vérifier, selon la façon dont il puise sa structure (cas d'un fichier XML) qu'il est présent et opérationnel.

- Une autre sera liée à l'exploitation d'un composant qui n'a pas été enregistré sur le poste de test. Ce cas de figure peut se rencontrer quand vous avez greffé un nouvel ActiveX® dans votre projet, que vous avez créé le fichier ACCDE (ou le accdb) et fourni ou copié vous-même le ACCDE (ou le accdb) sur le poste de test sans avoir pris la précaution d'embarquer le composant et de l'enregistrer dans la Base de Registre de Windows du poste concerné… (Erreur 429)

9-2-1-1. Erreur particulière : Utilisation impossible

Vous avez installé votre application avec succès et lorsque vous tentez de la lancer, un message apparaît :
"Actuellement, le système d'exploitation n'est pas configuré pour exécuter cette application".

Image non disponible


Bien que le message soit presque explicite, il faut avouer que Microsoft aurait pu faire un petit effort rédactionnel en spécifiant qu'il s'agit du fait que votre version de Windows XP doit impérativement être greffée du Service Pack 2...

9-2-1-2. Erreur système : Access ou Runtime Access requis

Vous avez généré votre package avec succès et lorsque vous tentez de l'installer, un message apparaît :
"Microsoft Access 2010 doit être installé avant d'exécuter ce programme d'installation".

Image non disponible


Il s'agit là d'un mauvais choix de votre part quant à l'inclusion du Runtime dans votre package où vous avez stipuler que rien n'était requis et qu'il s'avère que sur le poste cible, ni Access 2010 ni sa version Runtime ne sont présents.

9-3. Création d'un formulaire de démarrage

Il existe deux cas de figure qui concernent l'obligation de créer un formulaire de démarrage :

- Si aucun formulaire de démarrage n'est stipulé et que votre application est un fichier ACCDE ou un ACCDR rien ne se passera sinon l'ouverture d'une fenêtre vide, absente de toutes possibilités sinon celles de fermer la base de données ou de quitter Microsoft Access.

- Si une macro AUTOEXEC est présente, elle se doit de spécifier l'ouverture d'un formulaire sinon, même phénomène que ci-avant se produira.

Image non disponible
Session Access inutilisable



Il est donc conseillé de créer ce formulaire et parallèlement à cela, de stipuler que celui-ci doit être chargé au démarrage, qu'il soit Menu principal, Fenêtre de connexion ou Splash screen... Créer un formulaire de démarrage spécifique sous forme de «Splash Screen» permet d'obtenir un formulaire qui s'affichera de façon temporisée comme dans toutes les applications Microsoft au démarrage (§ Word, Excel…).


Ce dernier pourra par exemple se charger de vérifier un certain nombre de paramètres comme le chargement des Rubans avant d'ouvrir le Menu Principal.

Ceci dit, vous n'êtes pas tenu d'opter pour le choix des options qui définissent le Formulaire de démarrage; La mise en place d'une
Macro AutoExec peut très bien faire l'affaire mais dans tous les cas, un formulaire doit être affiché si votre projet tourne avec le Runtime.
Tout dépend des cas et des besoins.

9-3-1. Spécification d'un formulaire de démarrage et des options de démarrage

La boite de dialogue Option Access vous permet de définir le formulaire à ouvrir au lancement de l'application que vous avez développée.

Pour y accéder, ouvrez les options d'Access depuis l'onglet Fichier et cliquez sur la rubrique Base de données active...

Spécifiez les options comme par exemple, ci-dessous où vous sélectionnez le nom du formulaire à démarrer (ici Menu général)

Image non disponible
Options de démarrage



Pour une sécurité totale, vous pouvez décocher toutes ou partie des cases mais cela reste risqué si vous n'avez pas prévu le code pour les rétablir ou bien pour accéder à votre application en mode Création, par exemple avec un bouton caché ou une combinaison de touches particulière…

Sinon, nombreuses pourraient être les personnes qui posteraient sur le forum en écrivant qu'elles ont suivi ces conseils et que depuis, elles ne peuvent plus rien faire avec leur application…

9-3-2. Exemple de formulaire de démarrage :

Ceci est un formulaire de démarrage sous forme de «Splash Screen» pour l'application Les comptoirs citée en exemple dans ce document.

Image non disponible
Exemple de formulaire de démarrage

9-3-2-1. Génération d'un formulaire de démarrage temporisé

Pour concevoir un formulaire de ce type, en dehors de son contenu graphique, j'ai exploité l'événement Timer fixé à 5 secondes et parallèlement à cela, une routine se charge de faire quelques opérations de contrôle pour enfin afficher le formulaire Menu Principal.

Selon le type d'application distribuée, un formulaire intermédiaire comme une fenêtre de connexion avec Login et mot de passe peut être à prévoir...

Le Timer permet de temporiser une action. Dans ce cas précis, il permet d'afficher ce formulaire (présentant rapidement l'application chargée, histoire de faire patienter l'utilisateur) pendant 5 secondes avant de l'éliminer de l'écran et afficher ensuite le Menu Principal.

9-4. Les problèmes liés à la sécurité

Lorsque vous lancez pour la première fois votre application sur une poste client quelconque, il se peut (très probablement) qu'un message de sécurité survienne, sauf si vous avez fait préalablement le nécessaire en matière de sécurité.

En effet, toute application Office 2007 et ultérieure est censée être utilisée dans un contexte approuvé, que ce soit le dossier conteneur ou le nom du fichier lui-même. Quoi qu'il en soit, vous devez parer à ce type d'alerte qui aux yeux des utilisateurs, peut paraître surprenant d'une part et bloquant d'autre part, avec notamment la fameuse erreur 2001.

Image non disponible
Message de l'erreur 2001

Par ailleurs, si peut que vous ayez une configuration Front-End / Back-End, vous verrez apparaître ce message pour autant qu'il existe de tables liées.

Image non disponible
Message d'Avis de sécurité Access

9-4-1. Pourquoi le package d'installation ne créé pas un emplacement approuvé ?

Vous le savez sans doute déjà, le seul moyen de rendre ouvrable de façon conventionnelle une application Access sans message d'avertissement sur la sécurité est de déclarer soit :

  • un emplacement approuvé ;
  • un document approuvé (ici une base de données) ;
  • un éditeur approuvé.

L'option idéale restant l'emplacement approuvé.

Il s'avère que cette définission ne peut pas être effectuée par l'application elle-même.
Et le souci est d'autant plus grand que si votre application est vouée à être distribuée à grande échelle, vous ne serez pas en mesure d'intervenir sur chaque poste pour y créer la configuration nécessaire, à moins de fournir un script mais là aussi, un phénomène de sécurité entre entre jeu.

9-4-2. Comment créer un emplacement approuvé depuis mon Package MSI ?

Humm, disons que normalement depuis la version 2007, à partir du moment où vous sélectionnez un dossier cible d'installation durant la phase d'empaquetage de votre solution autre que Program Files, le fameux Assistant Solution de Package est censé déclarer dans son process d'installation, un futur emplacement approuvé basé sur ce chemin.

Avec MSAccess 2007 et ultérieur, il ne faut en effet jamais choisir ce dossier comme cible -
et d'ailleurs, je ne sais pas pourquoi il y est encore proposé, si ce n'est le fait que ce point n'a jamais été modifié en conséquence de l'évolution des systèmes d'exploitation. Sous Windows XP et versions antérieures, cela ne pertubait pas le système à ce niveau puisque la notion de sécurité était exploitée et surpervisée de façon différente et surtout moins efficace.

Alors oui, effectivement, il le fait... mais pas au bon endroit, et pour cause :

Image non disponible
Fichier MSI d'empaquetage 2010

Le code du complément qui régit la génération de packages aussi bien que le MSI lui même pointent sur le dossier par défaut d'Office 12 (soit 2007) et non Office 14 (soit 2010) et même si vous modifiez le chemin dans le MSI de base, cela ne changera rien...

Ainsi que vous pouvez le voir ci-dessous, le fichier MSI du package de l'application à installer à vu sa clause TrustedLocationReg associé au chemin d'Office 2007 alors que les deux autres clés pointent sur Office 2010.

 
Image non disponible
Fichier MSI du package de l'application à installer

Et donc, l'impact sur la Base de Registre est conséquent à cette spécification.
D'ailleurs, observez que la clé Office\12.0 n'existe que pour le TrustedLocations où, comme par hasard, c'est votre application qui y figure.

Image non disponible
Base de Registre une fois l'application installée

9-4-3. Et donc, comment résoudre ce problème ?

Bien, il n'y a pas 36 solutions, il n'y en a qu'une, euh... Disons à votre portée.

Elle se résume à éditer le fichier MSI de chacun de vos packages générés avec l'Assistant 2010...
Pour ce faire, il vous faut vous procurer un éditeur de fichiers MSI comme par exemple ORCA téléchargeable sur le site de Microsoft.

Une fois le programme d'édition installé et le le fichier ouvert, vous devez localiser la clé Registry dans laquelle se trouvent normalement 3 valeurs (voir image ici):

  • RegistryKeyShortcutLnkReg ;
  • ComponentLnkReg ;
  • TrustedLocationReg.

Celle qui nous intéresse se nomme TrustedLocationReg.

Dans la partie droite de la clé concernée, vous visualisez une chaîne représentant le chemin définissant l'emplacement approuvé dans la Base de Registre, soit par exemple :

 
Sélectionnez

Software\Microsoft\Office\12.0\Access\Security\Trusted Locations\{EC558558-5BCE-4735-AAC4-DBD4E1E171D1}

Bien, il faut simplement remplacer Office\12.0 par Office\14.0 et le tour est joué.

 
Sélectionnez

Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\{EC558558-5BCE-4735-AAC4-DBD4E1E171D1}

Vous pourrez alors distribuer vos package : il seront installés dans le dossier cible déclaré et sera défini comme emplacement approuvé.
Vous n'aurez alors plus d'alerte de sécurité.

10. Installation du Runtime Microsoft Access sur le poste client

Vous avez deux manières d'installer le Runtime Access, l'objectif se limitant à pouvoir exécuter des applications Microsoft Access.

Il n'y a pas d'intérêt à installer manuellement le Runtime puisque lorsque vous générez un package d'installation qui embarque le Runtime, ce dernier est installé automatiquement. Mais j'ai personnellement été contraint de le faire sur quelques postes, c'est pourquoi j'aborde cette possibilité.

10-1. Installation manuelle

Vous pouvez télécharger le Runtime Microsoft Access 2010 directement et l'installer aussitôt.

Il est préférable d'en disposer une version locale tout de même...

Vous installez le Runtime Microsoft Access comme vous installez l'application Access elle-même sauf si vous n'y êtes pas autorisé (Droits d'administration).

N'installez jamais le Runtime sur le poste développeur : Cela est strictement inutile et resterait sans objet.

Si vous devez installer manuellement le Runtime sur plusieurs postes en réseau, je vous conseille de copier le fichier AccessRuntime.exe sur un serveur dédié et de lancer son installation depuis celui-ci.
Sinon, trouvez tout autre moyen de le faire (CD-Rom, Clé USB etc…) et lancez l'exécutable depuis le Répertoire en question.

10-2. Installation automatique du Runtime

L'installation automatique est quant à elle supervisée par le SETUP.EXE d'installation que vous empaquetez lorsque vous générez un Package si vous avez coché les options 2 ou 3 des rubriques Access 2010 Runtime.

Voyez le chapitre concerné à la génération d'un Package à l'aide de l'Assistant Solution de Package, plus haut dans ce document.

10-3. Une fois le Runtime installé…

Une fois que les opérations d'installation manuelle ou automatique sont achevées, vous pouvez lancer une ou plusieurs applications Microsoft Access depuis un Raccourci ou depuis l'Explorateur de fichiers.

Rappel :
Les associations de fichiers ADP/ADE/MDA/MDB/MDE des applications d'une éventuelle version précédente d'Access seront mises à jour automatiquement.

11. Différences entre Microsoft Access et l'environnement Runtime

Il est impossible de lancer le Runtime en tant qu'application. Si vous tentez d'exécuter MSACCESS.EXE alors que ce dernier n'est pas la version complète mais le Runtime (ils portent le même nom) vous recevrez un message d'erreur.

Image non disponible



L'utilisateur ne peut pas accéder aux données dans la base de données autrement que par l'application elle-même. Il ne peut ni voir la structure des formulaires ni voir le code ou tout autre objet issu de l'application. Même si la base de données est située sur un serveur, l'utilisateur sera dans la même situation.

Si les applications qui fonctionnent avec le Runtime de Microsoft Access se comportent, à bien des égards, de la même manière que des applications qui fonctionnent avec la version complète de Microsoft Access (Microsoft Access Runtime est une version du logiciel Access ôtée des objets permettant la conception), il existe certaines différences qui peuvent avoir une incidence sur les approches de conception et de développement :

  • Le Volet d'Exploration (équivalent à la fenêtre Base de données des anciennes versions) et Visual Basic Environment sont masquées.
  • Les barres de Ruban intégrées ne sont pas gérées mais vous pouvez néanmoins ajouter à votre application des barres de Ruban personnalisées.
  • Certains menus (y compris les menus contextuels), fenêtres et commandes sont masqués ou désactivés.
  • La gestion d'erreurs de Visual Basic est nécessaire. Les erreurs qui ne sont pas gérées par le code arrêtent l'application sans aucun avertissement préalable. Pour cette raison, l'emploi des macros est plutôt déconseillé.

Certaines séquences et combinaisons de touches sont désactivées :

Raccourcis clavier Correspondance
Ctrl+Pause Interrompt l'exécution du code ou de la macro.
Maj Empêche l'exécution d'une macro AutoExec et ignore
les propriétés de démarrage des bases de données
lorsque vous ouvrez une base de données.
F11 Affiche la fenêtre du Volet d'exploration.
F12 Affiche la boîte de dialogue Enregistrer sous.
Ctrl+G Affiche la fenêtre Débogage.
Ctrl+N Ouvre une nouvelle base de données.
Ctrl+Entrée Ouvre un objet en mode Création.

11-1. Comment se présente le programme Runtime ?

Vous ne pouvez pas installer le Runtime Access 2010 sur un poste pourvu de la version complète de Microsoft Access 2010 tout simplement parce que le Runtime est installé dans le même répertoire que Microsoft Access ;
il ne sera pas installé si cette version est détectée.

Par ailleurs, si une version antérieure complète de Microsoft Access (2000 ou XP ou 2003) est présente sur le poste devant recevoir le Runtime Access 2010, je vous préconise de procéder à des essais préalables, même si théoriquement, aucun conflit est intercepté excepté les associations de fichiers dans l'Explorateur Windows.

11-1-1. Tentative de lancement de Microsoft Access Runtime

Il n'est pas possible de lancer le programme MSACCESS.EXE puisqu'il s'agit de la version Runtime.

Image non disponible

Il est impératif de spécifier une Base de données pour pouvoir l'utiliser.

12. Les erreurs liées à l'installation

12-1. Erreur d'exécution 429 lors de l'exécution d'un programme Access

Symptômes
Vous installez une application d'exécution Microsoft Access Runtime ou bien vous exécutez une application Access et le message d'erreur suivant apparaît :

Erreur d'exécution '429' : Le composant ActiveX ne peut pas créer l'objet

Cause
Vous avez installé l'application d'exécution sur un ordinateur où Microsoft Access n'a jamais été préalablement installé. Cette erreur peut se produire lorsqu'un composant n'a pas été enregistré dans le Registre du système. En effet, lorsque vous introduisez dans votre application un certain nombre de références externes et que votre programme contient des instructions exploitant ces dernières via VBA, ce message apparaîtra et votre application ne pourra fonctionner.

Dans l'exemple de code ci-dessous, il est supposé que vous avez coché la référence à Microsoft Office 12 Access database engine Object ou DAO 3.6 Object Library.

 
Sélectionnez

Set RS = CurrentDB.OpenRecordset ("SELECT * FROM CLIENTS", DBOpenDynaset)

Résolution
Vous devez enregistrer correctement le ou les composants incriminés. Pour ce faire, vous devez localiser l'implantation physique de ces composants dans le système et également dans le Registre de Windows.

Vous devez alors faire en sorte que le poste cible dispose d'une version qui corresponde à la version exploitée par votre projet.

Dans le menu Outils / Références de Visual Basic Editor, vérifiez si les références sont correctes (Pas de terme MANQUANT) et que les références cochées correspondent bien à des bibliothèques correctement enregistrées (S'il ne s'agit pas d'un cas avec le Runtime).

Pour plus d'informations…
Pour plus d'informations vous pouvez aussi jeter un œil ici à la page Résolution de l'erreur 429 lors de l'automatisation des applications Office.

12-2. Erreur liée à l'utilisation de MouseWheel.dll

Dans la version 2010 de Microsoft Access, vous n'avez plus besoin de ce composant car la molette est désactivée nativement.

En admettant que vous l'ayez tout de même utilisé par le fait que vous ignoriez cela, vous êtes tenu de fournir le composant MouseWheel.dll.

Comme nous l'avons vu juste avant, une erreur de type 429 est levée lorsqu'un composant ou une référence n'est pas correctement enregistré dans le Registre de Windows.

Concernant l'exploitation de la DLL MouseWheel.dll, c'est un peu particulier.

Symptômes
Votre application fonctionne mais bloque sur certains formulaires et vous ne pouvez plus rien faire voire même, vous ne pouvez plus quitter l'application même si un bouton Fermer est disponible sur le formulaire.

En effet, si cette DLL n'est pas enregistrée correctement par l'installer SETUP.EXE issu de votre package ou bien si vous avez simplement omis de l'ajouter à la liste des fichiers :

- Soit aucune erreur ne sera levée.
Cela est d'autant plus problématique que votre application va fonctionner à peu près mais bloquera ou se comportera d'une façon inattendue dès que vous chargerez un formulaire qui contient le code VBA instanciant la classe MouseWheel.

- Soit vous recevez un message d'erreur typique à Microsoft Access
Dans ce cas, vous ne pouvez rien faire puisse que ce message apparaît sur chaque mouvement de souris.

Vous serez alors obligé de jongler avec clavier et souris pour pouvoir retrouver la main et tuer le processus Microsoft Access depuis le Gestionnaire de tâches.

Cause
Ceci est tout simplement du au fait que la DLL n'est pas enregistrée sur le poste où a été installée l'application.

Résolution
Pour remédier à ce problème, enlevez le code déclarant et utilisant ce composant et décochez la référence à MouseWheel.dll.

Réempaquetez alors votre projet afin de le redistribuer.

Notez au passage que Thierry Gasperment alias Arkham46 vous propose un tutoriel sur l'exploitation de la molette de la souris sans avoir à inscrire le composant ce qui évite l'erreur 429.

12-3. Les projets accentués

Le projet empaqueté puise ses informations d'installation dans un fichier INI nommé setup.ini.
Si vous souhaitez modifier quelques paramètres, vous pouvez éditer ce dernier mais il est préférable de régénérer un package via l'Assistant pour éviter les erreurs.

Il existait u bug qui paraissait surprenant dans l'Assistant Package de la version 2007 et qui est résolu dans la version 2010 au sujet des noms de projet pourvus d'accents

Pour plus d'informations à ce sujet, cliquez ici.

13. Installation du Runtime Microsoft Access 2010

Vous pouvez installer le Runtime Microsoft Access sur un poste en particulier.
Le fichier AccessRuntime.exe est le fichier à lancer manuellement dans ce cas.

Image non disponible

13-1. Installation du Runtime manuellement sur un poste

Tout comme vous avez procédé pour l'installation de Microsoft Office Access Developer Extensions, vous exécutez l'installation du Runtime Microsoft Access à partir du fichier exécutable.
Dans ce processus manuel d'installation, une fenêtre de confirmation de sécurité se fait voir afin que vous cliquiez sur le bouton Exécuter invoquant le fait que vous acceptiez d'exécuter ce programme.

Le jeu de fenêtre qui va apparaître lors de l'installation manuelle de Microsoft Access Runtime n'apparaît pas lorsque le processus d'installation
du Runtime s'effectue par l'intermédiaire de votre Package.

En théorie, vous n'avez pas à installer manuellement le Runtime sur un poste client ;
Le but de vous montrer qu'il est possible d'installer manuellement ce Runtime pour se mettre dans une situation réservée à des fins de tests uniquement.

Dans l'idéal, il est évident que les tests effectués à partir du Package d'installation restent évidemment les meilleurs.

Image non disponible


Une fois que vous avez cliqué sur Exécuter, vous devez accepter comme à l'accoutumée, les termes de la licence pour pouvoir continuer…

Image non disponible


Le processus d'installation est relativement court et se traduit par une simple petite fenêtre avec une barre de progression...

Image non disponible


...suivie d'une dernière vous confirmant que l'installation est complétée.

Image non disponible

14. Conclusion

Ainsi que vous avez pu le lire au cours de ces différents paragraphes, l'empaquetage de solution Access 2010 n'a pas été amélioré ou simplifié depuis la version 2007 excepté le fait qu'il est en français.
Outre le fait que certaines fonctions présentes dans les versions précédentes (Batch), ne sont plus disponibles, la version 2010 possède d'autres compensations...