Comment déployer vos applications professionnelles développées avec
Microsoft Access 2010 en incluant le Runtime

Ce document a pour but de simplifier la compréhension du déploiement des applications développées avec Microsoft Access 2010.
Il concerne Microsoft Office 2010 associés à Microsoft Access Developer Extensions for Office 2010® en exploitant l'utilisation du Runtime.

53 commentaires Donner une note  l'article (5)

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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-2. 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-3. 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-4. 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-5. 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é.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.