IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Comment déployer vos applications professionnelles développées
avec Microsoft Access 2016 32/64 bits
en incluant le Runtime
Mise à jour importante janvier 2019 (64 bits)

91 commentaires Donner une note à l´article (5)

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. 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 2016. En effet, bien que certains d'entre vous aient pu utiliser la version 2013 développée également par mes soins, j'ai eu écho que certains fichiers et notamment les fichiers signés, ne pouvaient pas être installés correctement avec la version 2013.
Vous pourrez alors utiliser la nouvelle version de l'outil d'empaquetage téléchargeable à la fin de ce tutoriel…

Cing autres tutoriels sont disponibles pour les versions 2000 ou 2002 (XP), 2003, 2007, 2010, et 2013 sur le forum.

I-A. Toujours pas d'Assistant Package 2016 ?

Eh oui, comme pour 2013, il n'existe pas non plus d'outil de Solution de package pour Microsoft Access 2016.

Vous pouvez vous rendre sur le tutoriel 2013 et y lire la même section pour de plus amples explications.

I-B. Qu'y a-t-il de différent par rapport à 2013

Euh… Eh bien à cette question, si j'osais, j'ose : pas grand-chose en fait.

Ce tutoriel reste en bien des points identique à celui que j'ai développé pour Access 15.

Afin de le distinguer, la charte graphique a été associée aux couleurs d'Office 365.

N'y voyez aucune allusion d'un agrume rempli de vitamines ou d'une compagnie française… Ceci dit, cette couleur semble bien à la mode*.
*Et comme dirait Pierre, celle-ci a autant d'importance que le trombone qu'il a au fond de sa poche.

I-C. L'interface…

Pareil à la difficulté rencontrée dans Access 2013 la vue Backstage de Microsoft Access se présente ainsi :

Image non disponible
Menu Backstage

Pour accéder à l'assistant package, vous procéderez également depuis le ruban via l'onglet Outils de base de données, puis le groupe Complément où vous choisirez l'option " Package Wizard 2016 ".

Image non disponible
Onglet Outils de base de données

I-D. Remerciements

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

Un remerciement tout particulier à :
Claude Leloup pour la relecture (et quelques autres choses importantes).
jacques_jean
Pierre Fauconnier
Et aussi deux membres (Pascal F. et Robert S. qui se reconnaîtront) pour la recette et leurs remarques.

I-E. Contact

Pour tous renseignements complémentaires (non techniques), veuillez me contacter directement (Argyronet) par MP.
Sinon, merci de passer par le forum.

I-F. À retenir…

Ce tutoriel et les outils qu'il propose ne sont pas dédiés aux déploiements Office 365 (cloud et tutti quanti).

Par ailleurs, il existe une version 32 et 64 bits de l'assistant présenté ici.
Si vous envisagez de déployer la version 64 bits d'Office 2016, c'est que vous avez de bonnes raisons…
Toutefois, la version 32 bits d'Office 2016 est préférable pour éviter les risques d'incompatibilité des contrôles ActiveX, des compléments tiers et autres solutions d'entreprise conçus pour les versions 32 bits d'Office.
Avant de prendre votre décision, il est recommandé de lire les considérations en matière de déploiement pour la version 64 bits d'Office 2016 et aussi le tutoriel de Thierry (arkham46) Développer avecOffice 64 bits.

II. 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 d'une part
et excluent le choix de Microsoft Office Marketplace d'autre part :

  1. Vous développez une application à partir de Microsoft Access 2016 ;
  2. Vous avez installé le Package Wizard 2016 qui est disponible ici ;
  3. Les postes clients possèdent ou ne possèdent pas une licence Access 2016 installée ;
  4. Vous travaillez sur une plateforme Windows Seven SP1 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 bases de données où seul est prédominant le traitement des données. Il peut résider des formulaires simples et pratiques à utiliser, élaborés à partir de l'assistant, des états lisibles contenant les informations attendues et l'ensemble est géré de façon plus ou moins automatique avec quelques macros et pas ou peu de routines VBA.

L'utilisateur dispose comme la version 2013, 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 par défaut 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 formulaires ou états à la condition que vous ne distribuiez pas un fichier compilé (ACCDE).

Les applications avancées

C'est ce que j'appelle des applications semi-professionnelles de bases de données où est prédominant le côté 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 autoactivé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.
Toute l'application sera exempte d'erreur.

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 2016, 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 quelques fois compatibles (cas où la base de données est issue d'un (très) ancien format MDB) ;
  • exploiter totalement le ruban Microsoft Office et non partiellement, e.g. en générant un nouveau ruban personnalisé (voir tutoriel de Tofalu pour comprendre le ruban et (le tutoriel d'Arkham46 pour utiliser l'assistant ruban pour Office) ;
  • 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 avant 2007. Depuis la version 2007, je serais tenté de dire que ce n'est plus un must dans le sens où si vous souhaitez exploiter le ruban et donner un look Office 2016 à votre projet, vous ne pouvez pas envisager ce choix.

En remplacement des DoMenuItem. La méthode RunCommand de l'objet DoCmd a été introduite dans Microsoft Access dès la version 97, en remplacement de la méthode DoMenuItem des versions antérieures. Elle permettait d'exécuter une commande intégrée de menus ou de barres d'outils. Pour chacune des commandes de menus et de barres d'outils de Microsoft Access, il existe une constante correspondante.

Vous pouvez utiliser celles-ci avec la méthode RunCommand à l'aide de Visual Basic. Tout est expliqué ici dans le tutoriel de Domi2.

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 2016, auquel cas la fourniture du fichier ACCDB (ou ACCDE ou encore ACCDR) par le biais d'un fichier d'installation automatisé peut paraître superflue.
En fait, si votre application n'a pas d'évolution majeure en matière de composant ActiveX externe (OCX), s'il n'y a aucune référence à des bibliothèques particulières (DLL, TLB…) et que tous les postes cibles (utilisateurs) sont équipés d'une version complète d'Access 2016, il suffit de distribuer simplement par copie, les fichiers (accd*).

Si votre application, quelle que soit la catégorie dans laquelle elle se range, doit être distribuée dans différents services avec pourquoi pas la notion du multilingue, qu'elle utilise des composants spécifiques externes, vous devez faire en sorte que tout soit fourni avec votre projet pour qu'il puisse être déployé et que les composants soient inscrits dans la base de registre de Windows du poste client si cela s'avère nécessaire (composants COM).

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


Donc, si vous envisagez de distribuer vos applications avec le Runtime Microsoft Access 2016, l'outil de Solution de Package que j'ai nommé dans la version 2016 Assistant Package… (ou Package Wizard… selon la langue) est là pour vous y aider.

Rappel : si vous souhaitez empaqueter votre application à l'aide de ce nouvel outil Assistant Package, vous devez d'abord l'installer sur votre poste de travail où Microsoft Windows (7 ou ultérieur) et Microsoft Office 2016 sont installés (sous licence).
Cette procédure est vue plus loin à la section 5.

=> Notez au passage que cette application est totalement gratuite et nécessite que vous la téléchargiez avant son installation.
=> Il n'est plus question non plus d'acquérir une suite de composants particuliers pour en bénéficier.

Par ailleurs, l'utilisation ou la redistribution de Microsoft Access Runtime 2016 est gratuite et 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.

II-A. 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 la mauvaise considération de certaines références vers des objets externes.

- Notez que dans bien des cas il est préférable de faire du Late Binding plutôt que du Early Binding (liaison anticipée et liaison tardive en français) afin de garantir la compatibilité.
En d'autres termes, il est préférable d'user de la fonction

 
Sélectionnez
CreateObject("ApplicationName.Application")

plutôt que de la définition

 
Sélectionnez
Set oAppObj = New ApplicationName.Application



Cependant, si votre application est pleinement 2016 et vouée à être distribuée sur des plateformes Office 2016, conservez le Early Binding.

Notez que la différence entre Late Binding et Early Binding s'effectue davantage sur la déclaration As Object que sur la méthode de création de l'objet par le mot clé New. Par ailleurs, il est possible d'utiliser la fonction CreateObject pour exploiter la technologie Early Binding, et Microsoft le préconise même parfois.

(Merci à Arkham46 pour ce complément d'information.)

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

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

 

II-B-1. Comme s'il était doté de la version complète Microsoft Access 2016

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.

II-B-2. Comme s'il était doté du Runtime Access 2016

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 2016, il suffit de renommer votre fichier avec une extension ACCDR :

- dans le cas du projet abordé ici, l'application de démonstration a été créée pour l'exemple ;
- pour simuler son usage en environnement Runtime, son nom deviendra alors Mon application.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-2016).

Ici aussi donc, vous procéderez aux mêmes jeux de tests à effectuer que ceux qui sont stipulés en section 2-2-1 ci-avant.

Dans tous les cas, n'oubliez pas de tester également tout ce qui est procédure d'export vers Excel ou tout ce qui est génération de documents Word via Automation sans oublier la notion de droits d'accès du fait que vous, en tant que développeur, vous êtes certainement administrateur de votre poste de travail, ce qui ouvre des autorisations que les autres n'ont pas forcément.

II-B-3. Doté du Runtime Access 2016 conjointement avec une version antérieure de Microsoft Access

Considérez ici (bien que ce soit déconseillé) que le poste client dispose d'une version de Microsoft Access antérieure (par exemple 2010) à celle du Runtime qui, lui, correspond à la version 2016 de Microsoft Access. Dans ce cas, vous devrez mettre en place une syntaxe particulière pour le raccourci que vous aurez à créer et surtout de procéder à des tests sévères, car la cohabitation de deux versions si opposées dans le temps vous expose à de probables dysfonctionnements et des erreurs irrécupérables.

De manière générale, je déconseille la cohabitation de versions différentes sur un même poste de travail.


Les bases de données et applications Microsoft Access 2016 possèdent la même extension que les versions 2007 à 2013 (ACCDB, ACCDE, ACCDR). Donc, il n'est pas nécessaire d'avoir à créer des raccourcis spécifiques.

Pour autant, le fait que vous installez une autre version de Microsoft Access représentée ici par le Runtime lors de l'installation de votre application à déployer, 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 ;
- pour ce qui est des ADP / ADE, ils ne sont plus supportés.

L'avantage de ces différences entre les extensions 2016 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 2016 avec le Runtime possède une version antérieure, vous pourrez lui apprendre à modifier les associations de fichiers depuis l'Explorateur de fichiers à partir de la fonctionnalité des Programmes par défaut du Panneau de configuration.

MODIFIER LES ASSOCIATIONS POUR MICROSOFT ACCESS 2016
Veuillez vous reporter à la même section dans le tutoriel de déploiement 2010

Associer un fichier

Choix du programme

Image non disponible

Image non disponible



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 une machine virtuelle.

Vous avez le choix entre :
- VMWare®
ou
- VirtualBox.


Cela vous permettra toutes les fantaisies en matière de simulation.

Vous devrez alors installer une version 2016 de Microsoft Office sur ce poste virtuel pour installer ensuite votre application par l'intermédiaire du package venant d'être généré.
Vous procéderez alors aux essais nécessaires et aux modifications à apporter en conséquence de ce qui vient d'être cité ici.

II-C. Comment et pourquoi convertir votre projet en fichier ACCDE ?

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

Attention

Rappelez-vous qu'il existe une incompatibilité entre les versions 32 bits et 64 bits des logiciels Microsoft Access et donc, une base convertie en ACCDE depuis une version 32 bits ne sera pas compatible avec une version 64 bits, et inversement.

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.

L'outil Assistant Package présenté ici vous propose, en cochant la case appropriée, la création d'un fichier ACCDE à partir du moment où vous avez sélectionné un fichier de base de données ACCDB.

Vous verrez cette étape plus loin dans ce tutoriel.

Image non disponible

II-C-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 ce type de bases de données.

Prenez en compte qu'avant de créer un ACCDE, vous devez compiler toujours votre projet à partir du menu Débogage de VBE .

Image non disponible

En parallèle à cela, conservez systématiquement une copie de sauvegarde de votre fichier ACCDB après avoir procédé à la conversion en ACCDE et ce par sécurité. Il est en effet impossible d'inverser la compilation d'un ACCDB en ACCDE, c'est-à-dire, de récupérer un fichier .ACCDB à partir d'un fichier .ACCDE !

II-C-1-a. 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, surtout en mode multiutilisateur.

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

Vous pouvez interdire 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 du fichier de base de données .ACCDB par .ACCDR. Vous obtiendrez alors une version pseudo verrouillée de votre base de données Access 2016.

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).

Une protection plus efficace reste bien entendu le mot de passe.

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

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 l'erreur 3044 sera généré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 vous pouvez être confronté, employez systématiquement la sélection des liaisons avec les conventions UNC même si les accès aux serveurs sont mappés, auquel cas, recopiez le nom :
- soit depuis l' Explorateur  ;
- soit à l'aide d'une fonction maison qui renvoie le chemin UNC du lecteur passé en paramètre.

ATTENTION : il est important de considérer que tout emplacement approuvé n'accepte pas les chemins de type UNC établis depuis le Centre de confidentialité , mais bel et bien un lecteur mappé.
Il faut cependant approuver les emplacements réseau bien que ce ne soit pas recommandé. Image non disponible

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, par exemple, je choisirais d'installer mon projet dans un sous-dossier (portant le nom de mon Application) de Mes documents, et ferais en sorte que ma Base de données dorsale ne contenant que les tables se trouve dans un sous-dossier nommé par exemple Data.
J'y ferais alors référence par un rattachement dynamique (depuis l'application) ce qui fait que les liaisons ne seront jamais rompues.

II-C-2. Comment scinder ma base de données avec Access 2016 ?

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 :\Users\Argyronet\Documents\Data\DBMonApplication.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é celles devant rester locales.
  • Refermez 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

Si votre base de données dorsale est présente sur un serveur, il est préférable de définir les liaisons avec les conventions UNC comme stipulé ci-avant.

Très souvent, vous êtes tenté de sélectionner le lecteur qui est mappé sur votre propre machine.

Dans la boîte de dialogue qui vous permet de sélectionner la nouvelle source de données, cliquez sur le bouton Parcourir et sélectionnez la base de données que vous venez de créer.
Dans l'exemple de ce tutoriel, le dossier concerné est le sous-dossier Data.

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.

Prenez garde de ne pas sélectionner les tables système si toutefois vous aviez laissé la vue sur ce type d'objet dans Microsoft Access.

Image non disponible


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

Image non disponible

Remarquez les icônes pourvues 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 2016.

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 Outils 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.

Deux tutoriels abordent ce sujet en détail :
- Liaisons dynamiques pour bases fractionnées
- Comment utiliser une application en mode multiutilisateur

Remarque

Dans le cas d'une liaison établie avec un autre type de base de données ou via ODBC, cette 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 de tables liées 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.

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.

II-C-3. Création du fichier ACCDE

Dans cet Assistant Package, j'ai inclus une case à cocher qui permet de générer un fichier ACCDE.

Après confirmation, et si votre base est exempte d'erreurs de compilation, le fichier est généré, il remplacera celui que vous avez sélectionné.
Vous verrez ce point plus loin à la section 5-2-2. (Processus de déploiement).

Sinon, vous pouvez aussi générer manuellement un fichier ACCDE, ne serait-ce pour vérifier que votre application tourne aussi bien dans ce format que dans l'autre.
Pour ce faire, vous sélectionnerez depuis l'onglet Fichier, l'élément Enregistrer sous 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.

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

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.

Vous ne pouvez générer un fichier .ACCDE qu'à partir d'un fichier au format supérieur ou égal à Microsoft Access 2007.

Si vous ouvrez un fichier d'une version antérieure, vous ne serez qu'en mesure de créer un fichier MDE et de toute façon, ce format n'est pas supporté par le présent outil de déploiement de ce tutoriel.

L'application est une version
Access 2007-2016

L'application est une version
antérieure à 2007

Image non disponible

Image non disponible

Attention

Il est important aussi de considérer que si votre projet est issu d'une base Access Office 2003 ou antérieure, et que vous souhaitez la convertir en vue de l'enregistrer dans le nouveau format, quelques adaptations seront sans doute à prévoir, notamment en ce qui concerne les références et les interactions avec les autres applications comme Excel et Word.

II-C-4. Impossibilité de générer un fichier ACCDE

Du fait que vous ne pouvez créer un fichier ACCDE qu'à partir d'une version Microsoft Access 2007 au minimum de votre application, toute tentative avec un format 97-2003 renverra une erreur.

Vous ne serez pas non plus en mesure de générer un fichier de ce type si la base de données possède une ou plusieurs erreurs de compilation dans le code (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

et même, il vous dit qu'il y a une boulette :

Image non disponible

et débordant de bonne volonté, il vous dit même où (enfin si vous compilez le code, il est gentil, mais pas dupe) :

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 contenant du code.

II-D. Sécurisation de votre projet

Juste un petit mot sur la sécurité où je ne serai pas plus exhaustif que mes acolytes.
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.

Un vaste débat initié par Christophe Warin y est abordé ici.

II-D-1. Comment sécuriser votre application ?

Si vous distribuez votre application à des utilisateurs qui disposent de la version 2016 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.

Depuis la version 2007, Microsoft Access ne permet plus d'utiliser la sécurité de niveau utilisateur pour les bases de données au format 2007-2016 (.ACCDB ou .ACCDE).

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 2016 dans l'aide de Microsoft Access 2016.

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

Attention : un premier chargement même via un AutoExec d'une application ayant un certain nombre d'automatismes particuliers (masquage des barres d'outils et aucun ruban notamment…) peut donner accès au volet de navigation. Au second chargement, ce n'est plus le cas.

Pour y remédier si vous rencontrez ce phénomène, vous pouvez utiliser différentes méthodes, en voici une.

- configurer 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.

Cacher le volet de navigation dynamiquement
Sélectionnez
DoCmd.NavigateTo "acNavigationCategoryObjectType"
DoCmd.RunCommand acCmdWindowHide

et pour le réafficher :

Afficher le volet de navigation dynamiquement
Sélectionnez
DoCmd.SelectObject acTable, , True



- donner à 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éger 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 passer cette propriété à True.

II-D-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 active ou bien définissez ces options par programme en VBA.

Rappel
Si votre base de données contient du code Visual Basic, distribuez-la sous forme de fichier ACCDE.
En effet, ce format de base de données ACCDE compile tous les modules, supprime le code source et compacte la base de données tout en protégeant l'application de toutes modifications.

En revanche, si vous souhaitez laisser aux utilisateurs la possibilité de créer leurs propres formulaires u leurs états, ne distribuez pas votre application au format ACCDE et ne verrouillez pas les options de démarrage.


Si vous avez mis un mot de passe sur l'éditeur VBA, il n'y aura pas possibilité de créer de procédures événementielles sur les contrôles ajoutés ou modifiés dans les formulaires et/ou les états.
Ceci dit, depuis Access 2010, les macros incorporées sont utilisées en lieu et place du code VBA pour les commandes simples à l'aide de l'Assistant contrôle tout en laissant une certaine transparence pour certains utilisateurs de votre application.

Pour plus d'information à propos de la sécurité de l'accès à la base de données elle-même, même si elles ne sont plus trop d'actualité, vous pouvez 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.

Attention, toutefois…

Le fait de convertir votre projet en ACCDE et selon la façon dont il a été développé (hummm, non, je ne ris pas), il est probable que vous rencontriez un message d'erreur 2001 qui interdit l'exécution de votre application faute d'expression ou de fonction introuvable.

Cela est causé le plus souvent par une demande trop importante d'un jeu d'appels de fonctions, de procédures et tout cela mêlé à un AutoExec qui ouvre une fonction de démarrage et le tout encapsulé, la plupart du temps, dans un emplacement non approuvé.

En d'autres termes, une fois compilé en ACCDE, le code s'exécute plus vite que les retours de fonction et ça plante le processus d'ouverture. La solution consiste alors à :

  • soit réviser le code de démarrage et l'améliorer ;
  • soit laisser et distribuer une version ACCDB du projet plutôt qu'un ACCDE.*

* il est possible dans ce cas de renommer le fichier en ACCDR si toutefois vous ne distribuez pas le Runtime.

III. Déploiement et empaquetage de votre application

Pour empaqueter votre solution, 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 finalement, le principe reste le même.

III-A. Ambiguïté concernant la génération de packages

Pour ceux d'entre vous qui avaient Access 2010, vous aviez certainement vu comment générer un package d'installation où il ne fallait s'emmêler les pinceaux entre les deux rubriques qui existaient au sein de la fonction Enregistrer et publier (Enregistrer sous dans Access 2016) à savoir :
- Empaqueter et signer qui permettait de générer une version signée de votre application ;
- Solution de package qui permettait de créer un package d'installation que le projet soit signé ou non.

Il est vrai que d'un point vu 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.

Mais aujourd'hui, dans Access 2016, plus question de confusion puisque l'outil de Solution de package n'existe plus d'une part et que l'Assitant Package que j'ai développé propose sa fonctionnalité d'empaquetage à partir du ruban dans le groupe Compléments de l'onglet Outils de base de données d'autre part.

Comme expliqué au début de ce tutoriel, je n'ai pas trouvé de solution pour faire avaler à ce satané Access que mon complément possède un Menu Backstage.

Qu'est-ce qu'un fichier signé ?
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 une signature numérique souscrite auprès d'un organisme agréé.
Pour la démonstration, je vous propose de voir la rubrique abordée dans le tutoriel traitant de l'empaquetage de solution Access 2010.

III-B. Préparation en vue d'exploiter l'application avec le Runtime Microsoft Access 2016

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

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

III-B-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 en l'occurrence, la version 2016.

Cet outil d'empaquetage n'accepte que le Runtime 2016 (version 16.0.4288.1001 ou ultérieure) d'une part et les bases de données au format 2007-2016.

Il est possible qu'une base de données au format 2016 signale des erreurs si elle est exploitée avec une version antérieure, par exemple, le Runtime 2010.

III-B-1-a. Comment obtenir des outils nécessaires au déploiement de solutions Microsoft Access ?

Il n'y a pas de page concernant les modifications apportées à Office 2016, mais on part du principe que celles de 2013 s'appliquent à 2016.

Pour pouvoir bénéficier des outils nécessaires au déploiement d'applications Microsoft Access 2016, vous devez installer l'application Package Wizard 2016 que j'ai développée, en la téléchargeant directement depuis cet article.

Contrairement aux versions précédentes qui, pour les versions 2000 à 2003 nécessitaient d'être achetées, (voir articles 2000 et 2003), et aux versions 2007 et 2013 où il était fourni respectivement par téléchargement pour l'un et par installation complémentaire pour l'autre (voir articles 2007, 2010) et aussi 2013). L'outil d'empaquetage et de déploiement pour Access 2016 (comme pour 2013) a été déprécié avec de nombreuses autres fonctions d'ailleurs que vous connaissez sans doute déjà…

Vous pouvez consulter la page Modifications dansOffice 2013 ici.


Pour ce qui est de l'outil mis à votre disposition, c'est la même chose que pour les versions précédentes, il faut juste le récupérer d'abord et l'installer ensuite.

Les fichiers d'installation du Runtime Access 2016 n'ont pas besoin d'être téléchargés puisque je l'ai intégré dans le SETUP d'installation.
Notez au passage que tout comme pour les versions 2007, 2010 et 2013, il est également GRATUIT.
Ne soyez pas surpris par la taille du fichier (il y a beaucoup de code ! Euh, là aussi, je plaisante - enfin un peu quand même…).

En effet, le programme d'installation complet pèse plusieurs centaines de mégaoctets (selon la version choisie) du fait qu'il soit français ou anglais et qu'il embarque la version du runtime respective dans chacune des langues d'une part et qu'il est développé dans les deux technologies 32 et 64 bits d'autre part, considérant que l'exécutable du Runtime pèse approximativement entre 230 et 330 Mo.

Vous pouvez bien entendu ne télécharger que la version sans Runtime qui ne pèse que 1 Mo.

Vous devrez alors récupérer, si nécessaire, le Runtime dans la bonne langue et la technologie souhaitée, depuis le site de Microsoft en cliquant ici.
(Changez-le fr-fr en en-us pour la version anglaise.)

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

Systèmes d'exploitation pris en charge :

  • Windows 7 ;
  • Windows 8 ;
  • Windows 10 ;
  • Windows Server 2008 R2 ;
  • Windows Server 2012.
III-B-1-b. Installer l'outil Assistant Package sur votre poste

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

Avant d'installer L'Assistant 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.

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

Le complément Assistant Package pour Access 2016 est une application Access 32 bits et 64 bits*, qui s'utilise depuis Access 2016 dans le but de créer un package d'installation de vos applications que vous avez développées.
* Il est donc possible d'utiliser ce complément avec Office 64 bits.

Cet outil a été développé avec un aspect global qui reste équivalent à celui que j'ai développé pour Access 2013.

L'outil est bilingue français/anglais avec bien entendu, le français comme langage par défaut.
L'outil servant à générer vos packages se nomme Assistant Package/Package Wizard.
Son fonctionnement permet de générer des programmes d'installation de vos applications Access 2016 par la génération d'un fichier MSI et d'un programme d'installation (nommé Setup.exe) en vue de les distribuer.

J'ai relooké les formulaires par rapport à celui de la version 2013 en orange pour rappeler la charte graphique Office 365 bien qu'Access 2016 ait conservé sa couleur Bourgogne de deux ans

Cet assistant vous propose d'inclure le Runtime Microsoft Access 2016 pour les postes clients dépourvus de la version complète de Microsoft Access 2016.

Deux choix sont alors possibles :

  • la case n'est pas cochée : nécessite que la version complète de Microsoft Access 2016 soit présente sur le poste ;
  • la case est cochée : il sera installé selon la langue et la technologie choisies.

Vous remarquerez qu'il est possible de définir un autre emplacement de stockage du programme d'installation du Runtime, celui-ci étant par défaut dans le sous-dossier pkwRuntime de l'Assistant Package lui-même.

Si un chemin est inscrit, c'est qu'il a été détecté comme présent.

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 finals.

V. Déploiement de votre application (avec ou sans le Runtime Access 2016)

Pour déployer vos applications avec un programme d'installation, installez d'abord l'Assistant Package si ce n'est pas fait.
Une fois installé, le module est disponible en cliquant simplement sur l'onglet Outils de base de données, puis le groupe Compléments.

Image non disponible
 

V-A. Comment installer l'Assistant Package 2016

Une fois que vous l'avez téléchargé, vous pouvez installer l'Assistant Package. Pour ce faire, vous exécutez alors le fichier SetupPKW.exe et suivez les instructions.


Localisez l'icône du programme d'installation soit sur le Bureau,

Image non disponible


soit depuis le dossier où vous l'avez téléchargé.

Image non disponible


Si le message de sécurité survient pour vous prévenir de la possible dangerosité du programme que vous installez, cela sera identique au programme identique à 2013 et là aussi, je vous confirme que vous ne risquez rien.

En fait, cette fenêtre d'avertissement survient seulement en fonction du degré que vous avez défini pour le Contrôle du compte utilisateur dans Windows.

Image non disponible


Deux langues sont alors disponibles avec le français par défaut ; cliquez sur OK.

Image non disponible


L'invite du programme d'installation s'affiche en vous présentant ce que vous allez installer.
Vous cliquez sur Suivant.

Image non disponible


Cochez la case d'acceptation de la licence. Pour les plus curieux d'entre vous, vous pouvez la lire elle ne fait qu'une toute petite page.
Cliquez sur Suivant.

Image non disponible


Bien là, pas grand-chose de plus si ce n'est que ça ne va pas tarder à se mettre en place.
Cliquez sur Suivant.

Image non disponible


La barre de progression avance. Bon, c'est un petit peu long selon que vous ayez pris la version avec Runtime.
Cliquez sur Suivant.

Image non disponible


Et voilà, nous y sommes, c'est installé.
Cliquez sur Terminer.

Image non disponible

V-B. Lancer l'Assistant Package

Une fois l'outil Assistant Package installé, ouvrez Microsoft Access 2016.

Si tout s'est bien passé, l'installation du complément au sein de Microsoft Access est déjà effectuée.

Image non disponible

Dans le cas contraire, pour activer le complément depuis Microsoft Access, veuillez installer le complément manuellement via la rubrique Options/Compléments/Compléments Access de l'onglet Fichier.

Pour ce faire, vous devez démarrer Access en tant qu'administrateur…


Depuis le Menu démarrer, repérez le raccourci vers Microsoft Access 2016 et effectuez un clic droit dessus afin de choisir " Exécuter en tant qu'administrateur ".

Image non disponible


Une boîte de dialogue de confirmation vous demande si vous voulez autoriser le programme suivant à apporter des modifications à votre ordinateur : vous répondez bien évidemment Oui en cliquant sur le bouton du même nom.

Image non disponible


Microsoft Access démarre alors ; mais j'avoue que là, c'est un petit peu cabalistique pour essayer d'atteindre les options d'Access, vous en conviendrez.
Vous êtes obligé de cliquer sur la rubrique " Ouvrir d'autres fichiers " pour pouvoir y accéder ; c'est moyen comme ergonomie !

Image non disponible


De là, vous cliquez sur le bouton Options afin de faire apparaître la boîte de dialogue Options Access

Image non disponible


Vous cliquez alors sur la rubrique Compléments puis pointer la rubrique Gérer située au milieu et au bas de la fenêtre.
Dans cette liste déroulante, vous choisissez Compléments Access, puis cliquez sur le bouton Atteindre

Image non disponible


La fenêtre du gestionnaire des compléments fait son apparition et vous propose normalement l'Assistant Package 2016.
Vous cliquez alors sur le bouton Installer et une petite croix doit se juxtaposer à gauche de cette rubrique.

Image non disponible


Vous cliquez alors sur le bouton Fermer. Le complément est dès lors installé.

Image non disponible


¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
AVANT TOUTE CHOSE.
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Dans un fonctionnement standard, cet Assistant Package ne peut pas fonctionner en l'état sans qu'il y ait une base de données ouverte.
Vous devez donc ouvrir une base de données pour y accéder.

  • Soit celle que vous souhaitez empaqueter.
  • Soit une base de données quelconque.
  • Soit une nouvelle base de données vide.
  • Vous avez aussi la possibilité de lancer le complément en tant que fichier, auquel cas l'accès se fera depuis le menu Fichier.

Toutefois, comme me l'a suggéré Thierry (alias arkham46) ; il est possible de ne pas se plier à cette obligation si vous dupliquez le groupe Complément dans la barre d'outils Accès Rapide.

Notez au passage que l'empaquetage s'effectue sur une copie de votre application de base de données et non sur l'originale.

L'application à empaqueter est copiée temporairement dans le dossier d'installation que vous avez sélectionné.



Vous pourrez alors utiliser l'Assistant Package à partir de cet instant, car l'onglet Complément n'est accessible que par ce biais.

Cliquez l'onglet Outils de base de données, puis le groupe Compléments pour choisir la commande Package Wizard 2016.

L'Assistant Package démarre alors.

 

V-B-1. Démarrage de l'Assistant Package

Dès que la fenêtre fait son apparition, vous avez le choix de la langue, le français étant celle par défaut d'une part et le choix entre déployer un nouveau package ou bien d'en générer un à partir d'un package existant.

  • Dans une étape de création d'un nouveau package, vous devez remplir ou saisir tous les champs obligatoires, ceux-ci étant repérables par un astérisque rouge * (s'il est activé).
  • Dans une étape de génération à partir d'un package existant, vous pouvez redéployer un package fondé sur un modèle sauvegardé qui vous évite toute ressaisie déjà effectuée ou bien de modifier certains éléments qui le constituent.

Dans la version publié en 2018, j'ai ajouté deux boutons qui vous permettent d'importer ou d'exporter vos définitions.
Il est à noter que tout package généré et enregistré est de toute façon exporté en fin de génération, et ce pour que vous puissiez éventuellement les récupérer si vous changez de machine ou tout autre action qui vous serait utilse dans ce sens.
La fonction d'export à ce niveau n'a lieu d'être utilisée si vous voulez pouvoir récupérer une définition de package ailleurs, par exemple sur une machine virtuelle pour faire des tests...

Image non disponible

Lors de la génération à partir d'un package existant, vous disposez à l'étape 6 de l'Assistant de l'équivalent de la méthode à l'équivalent de la méthode enregistrer-sous si toutefois vous changez le nom du package.

Nous verrons cela un peu plus bas.

V-B-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.
À l'issue de cette étape, un fichier MSI sera créé et accompagné 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 :

vous pouvez copier manuellement les fichiers :

  • sur un support amovible, un lecteur local ;
  • ou sur partage réseau ;
  • ou bien la publier manuellement sur un emplacement Web approprié.

L'Assistant 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.

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 ne mettre à disposition que le fichier MSI qui a lui seul encapsule l'ensemble des fichiers nécessaires à l'installation, mais dépourvus du Runtime.
Dans ce cas, vous devrez prévoir de proposer une page Web suffisamment explicite pour avertir les utilisateurs qui ne possèdent pas la version complète de Microsoft Access qu'ils peuvent installer le Runtime et qu'il vous appartiendra de mettre un lien pointant sur l'exécutable de ce dernier.

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, se voient greffés du nom suivi d'un [1] soit par exemple, setup[1].ini au lieu de setup.ini.
Si vous avez un grand lot de fichiers embarqués en plus du MSI, il est recommandé de générer un fichier compressé (ZIP ou RAR) autoextractible qui, par sa ligne de commande, pourra lancer Setup.exe.

V-B-3. Étape 1/6 - Choix de la langue et du mode d'empaquetage

Lorsque vous lancez l'Assistant Package, l'étape 1 consiste à sélectionner la langue qui par défaut est effectivement le français ; un peu normal me direz-vous.

Ici, vous sélectionnez l'option :

  • Création d'un nouveau Package ;
  • Utiliser et modifier un Package existant ;
Image non disponible

La liste des packages existants n'est alimentée que si vous avez sauvegardé d'autres précédents packages.
À partir du moment où vous avez sélectionné un package existant, trois boutons qui jouxtent la liste se déverrouillent.

  • Le 1er bouton vous permet de supprimer (de façon irréversible) un package dont vous n'avez plus l'utilité.
  • Le 2e bouton vous permet de renommer un package existant (un nouveau nom vous sera demandé).
  • Le 3e bouton vous permet de dupliquer un package existant (un nouveau nom vous sera demandé).
  • Le 4e bouton vous permet d'exporter une définition.
  • Le 5e bouton vous permet d'importer une définition.

V-B-4. Étape 1/6 - Création d'un nouveau package

Dans un premier temps pour exploiter ce tutoriel vous allez créer un nouveau package.

Pour ce faire, vous pouvez laisser ouverte la base de données que vous voulez empaqueter s'il s'agit de celle-ci, mais c'est facultatif.
Cochez alors l'option pour définir que vous souhaitez créer un Nouveau Package puis cliquez sur le bouton Suivant pour passer à l'étape n° 2 sur 6.

Si vous souhaitez abandonner, le bouton Quitter vous permet de refermer l'Assistant après confirmation.

Attention, si un déroulement est en cours sur un nouveau package et que vous en sélectionnez un existant, vous verrez apparaître une alerte de confirmation.

Image non disponible

V-B-5. Étape 2/6 - Définition de l'application à empaqueter

La création d'un nouveau package implique le remplissage de toutes les zones, toutes n'étant pas remplies par défaut.
Le programme considère que c'est la base de données active qu'il faut empaqueter et donc, le chemin de celle-ci sera alimenté automatiquement.


Choix du fichier à empaqueter

Si la base active n'est pas celle à empaqueter, alors vous définissez l'application à empaqueter à partir de la même zone de texte que vous alimentez par le biais du bouton Parcourir qui jouxte la partie droite de celle-ci.
Vous pouvez remarquer que certaines rubriques comportent 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 avec conversion en ACCDE ;
  • la seconde zone détermine si vous voulez inclure ou non le Runtime ;
  • la troisième zone détermine l'emplacement du package d'installation.
Image non disponible
V-B-5-a. Sélection de l'application Access à empaqueter

Si vous souhaitez choisir une autre application de base de données que celle qui est stipulée, vous cliquez sur le bouton Parcourir afin d'aller chercher votre fichier (*.accd*) dans le dossier correspondant.

Rappel

La base de données active est choisie par défaut, et ce uniquement en cas de création d'un Nouveau Package.

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

Image non disponible

Vous ne pouvez pas sélectionner de fichier d'un format antérieur, le processus vérifiant l'intégrité du fichier avant de le valider.

Image non disponible


Dans la dernière version se trouve la possiblité de sélectionner le format ACCDR absent jusqu'alors.

Image non disponible


Notez alors que cela engendre une alerte si vous embarquez le Runtime avec votre package ; un message d'avertissement conséquent s'affiche à l'étape suivante...

Image non disponible



Normalement, vous êtes censé choisir 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.
Ceci dit, si vous avez à disposition un fichier ACCDE, cela peut signifier que vous avez une application qui compile correctement, euh…, normalement.

Ici, dans cette version de l'assistant, vous pouvez demander à ce qu'un ACCDE soit créé en lieu et place du fichier accdb. Ce dernier, une fois généré, se substituera au fichier ACCDB que vous auriez sélectionné.

Le fichier sélectionné est bien entendu celui qui fait office d'Application (Frontale).

Pour ce qui concerne la base dorsale (si toutefois votre base est scindée) vous devrez l'inclure dans le package durant l'étape n° 4 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 œuvre d'une fonction qui référence et installe les tables liées à l'aide ou non de l'utilisateur au moment du premier chargement de l'application.

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 Racine choisi et la Base de données Dorsale ne contenant que les tables, pourra être installée dans le sous-dossier Data.

V-B-5-b. Choix du dossier d'installation

Vous devez déterminer le chemin initial d'installation du programme appelé aussi Dossier racine.

Sélection du dossier Racine

La liste déroulante proposant les dossiers racines est composée de 6 éléments :

  • User AppData (ex. : C :\Users\Argyronet\AppData\Roaming) ;
  • Program Files (ex. : C :\Program Files (x86)) ;
  • Mes Documents (ex. : C :\Users\Argyronet\Documents) ;
  • Bureau (ex. : C :\Users\Argyronet\Desktop) ;
  • All Users (ex. : C :\Users\All Users) ;
  • Autre…


Vous pouvez ici choisir le dossier racine souhaité parmi ceux proposés dans cette liste.

Si vous choisissez l'élément Program Files le dossier d'installation a l'inconvénient de devenir en lecture seule.

Vous déterminez ensuite le sous-répertoire. Par défaut, le nom du sous-répertoire est celui que porte votre application.
Vous pouvez bien entendu le modifier.

Tant que les informations dans la première zone et la troisième zone sont incomplètes, la mention :

L'application source, le chemin cible et le sous-dossier cible sont requis.

La mention en rouge persiste et bloque par là même, l'accès au bouton Suivant.

Image non disponible
V-B-5-b-i. Le choix du dossier racine " Autre "

Dans cette version de l'assistant, vous avez la possibilité de choisir un dossier racine " Autre ".

En effet, nombreuses furent les fois où vous aviez sollicité le forum pour savoir comment installer l'application dans un autre dossier que ceux proposés dans la liste.

Cette option permet aux utilisateurs de faire en sorte d'accéder à l'option personnalisée au moment de l'installation pour choisir le chemin souhaité.
Lorsque vous choisissez l'élément de sous-dossier " Autre ", un message vous prévient en conséquence.

V-B-5-c. 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 2016.

Si Microsoft Access 2016 est présent sur le poste cible, ne cochez pas la case.
Cette version de l'Assistant 2016 ne propose pas comme dans la version 2010 les trois options.
En cas de doute, il vaut mieux ne pas cocher la case et attendre les retombées de non-fonctionnement, car si le Runtime est installé, il prendra la liberté de s'octroyer l'ouverture de tous fichiers Access ; si peu que l'installation soit effectuée sur un poste où une version complète autre que 2016 existe, ça risque de mettre la pagaille.

En fait, il est considéré que si vous cochez la case, cela sous-entend que vous savez que le ou les postes devant recevoir votre package d'installation ne possèdent pas de version d'Access 2016.

Dans la partie basse de la seconde zone figure la zone de texte où est stipulée :

Chemin de stockage du runtime (ici 32 bits)
Sélectionnez
C :\Users\Argyronet\AppData\Roaming\Microsoft\AddIns\pkwRuntime\AccessRuntime16_fr-fr_x86.exe

qui est le chemin où est stockée la version française ou anglaise du Runtime Access 2016 si toutefois vous ne les avez pas supprimées.

Dès qu'un chemin est stipulé et valide, c'est que le fichier qui est mentionné a été localisé.

Si vous cochez la case et que la zone de texte est vide, vous devrez définir l'emplacement par le biais du bouton Parcourir afin de préciser l'emplacement du programme exécutable du Runtime Access 2016.

Mais normalement, vous n'avez pas à modifier cette option si vous avez installé cet assistant de façon conventionnelle.

Toutefois, au chargement d'un package existant comme à la génération d'un nouveau package lors du cochage de la case d'inclusion du Runtime, ce message fera son apparition si l'exécutable visé n'existe pas.

Image non disponible

Contrairement à la version 2010 du Solution de Package, le fait de cocher la case suppose que vous voulez distribuer le Runtime avec votre package, mais ne provoque pas le changement du nom du fichier de l'application en ACCDR.

Image non disponible
Choix du Runtime dans l'Assistant Solution de Package 2010

Toute application ou tout programme Microsoft installés sur un poste de travail sont soumis à une licence. Bien que le Runtime Microsoft Access soit gratuit et permette 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 son installation.

V-B-5-d. Résumé de l'application à empaqueter

Une fois la base de données (Application) à empaqueter renseignée, le Dossier d'installation racine sélectionné, et le sous-dossier d'installation stipulé, la zone intitulée :
Chemin représentatif de l'installation de l'application
vous précise le chemin représentatif qui illustre l'emplacement de l'application une fois le package installé.

Image non disponible
V-B-5-e. Sélection de l'emplacement du package d'installation

Dans la troisième zone de cette étape, la zone Emplacement du package vous demande de renseigner le chemin dans lequel l'Assistant va stocker votre package une fois celui-ci généré.
À l'instar de la sélection de l'application, cliquez sur le bouton Parcourir pour sélectionner ce chemin avec option de création de dossier.

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

Image non disponible


Lorsque vous avez terminé, cliquez sur Suivant pour passer à l'étape n° 3.

V-B-6. Étape 3/6 - Détermination des options de raccourcis de l'application

Dans cette fenêtre, nous allons considérer comme précédemment qu'elle est subdivisée, en deux zones cette fois :

  • première zone : Emplacement du raccourci ;
  • seconde zone : Paramètres supplémentaires.

Les options de raccourcis se définissent par deux cases à cocher et deux zones de texte.
Les options paramètres supplémentaires se définissent par cinq cases à cocher et deux zones de texte.

Image non disponible

Options de raccourcis

  • Menu Démarrer : définit si vous souhaitez qu'il existe un raccourci dans le Menu Démarrer.
  • Bureau : définit si vous souhaitez qu'il existe un raccourci sur le Bureau.
  • Nom du raccourci : définit 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 raccourci qui est par défaut celui de l'application Access définie en fonction de l'extension du fichier.

Paramètres supplémentaires

  • /excl : ouvre l'application en mode exclusif.
  • /ro : ouvre l'application en lecture seule.
  • /x : ouvre l'application en exécutant la macro spécifiée exceptée AutoExec.
  • /cmd : ouvre l'application en appliquant les paramètres de ligne de commande passés en argument.


Les macros

Cet assistant peut lister les macros de votre application, ce qui vous permet de choisir une macro particulière autre que AutoExec, qui dans ce cas ne doit pas exister dans la liste.
Si la macro AutoExec existe, alors la possibilité de choisir une macro de démarrage est verrouillée et cette macro est choisie par défaut.

Image non disponible


Sinon, la liste est disponible et vous permet de sélectionner la macro que vous souhaitez affecter au raccourci.

Image non disponible


Si votre application est protégée par un mot de passe, il vous sera demandé de le fournir si toutefois vous souhaitez disposer de la liste de vos macros.

Image non disponible

Si aucune macro n'existe, le formulaire vous l'affiche en conséquence.

Image non disponible



La ligne de commande

Inscrivez dans cette zone le paramètre de commande qui permettra à votre application de réagir en conséquence de la fonction Command().

V-B-7. Étape 4/6 - Sélection des fichiers et définition des clés de Registre à ajouter à votre Package

Dans cette fenêtre, nous allons considérer comme précédemment qu'elle est subdivisée en deux zones :

  • Première zone : fichiers supplémentaires à inclure au package
  • Seconde zone : clés de Registre à créer pour ce package
Image non disponible

Fichiers supplémentaires à inclure au package

Si toutefois vous avez choisi d'inclure le Runtime dans le package, le fichier exécutable du Runtime sera ajouté dans le dossier "Files" du package d'installation, mais ne sera pas intégré dans le MSI.

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.

  • Pour pouvoir ajouter les fichiers il suffit de cliquer sur le bouton Ajouter (Add) et sélectionner, ensemble, 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.
  • Vous pouvez également vider la liste complète en cliquant sur le bouton Supprimer tout.
  • Si vous tentez d'ajouter un fichier déjà présent, même nom et même emplacement, un message s'affiche.
Image non disponible

Dans cette dernière version, il est désormais possible de sélectionner plusieurs dizaines de fichier, opération limitée à une douzaine simultanément en même temps jusqu'alors.

Boîte de dialogue de sélection des fichiers

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 précédé d'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és.

Sélection des fichiers par dossier

Dans la dernière version a été ajouté un bouton qui pemret de sélectionner un dossier entier. Cela vous permet d'inclure en tant que fichiers additionnels, tout un lot de fichiers en une seule opération.


Lorsque vous séléctionnez un dossier en vue d'inclure son contenu dans son entier, vous pouvez également inclure les sous-dossiers enfants :

Image non disponible

Vous sélectionnez alors le dossier concerné :

Image non disponible

Vérification des doublons

Il a été également ajouté une fonctionalité qui permet d'éviter l'ajout de fichiers en doublons.
En effet, cela provoque une erreur pour le générateur.
S'il est impératif pour vous d'ajouter des fichiers qui portent le même nom alors qu'ils sont situés dans des sous-dossiers séparés, (par exemple, des dll pour 32 et 64 bits) il vous faut trouver une parade. L'idée ici consiste alors à zipper vos sous-dossier en un seul fichier compressé et ainsi, pouvoir l'ajouter au package.

Il vous appartiendra alors de greffer à votre application trois fonctionnalités, au moment du besoin de ces fichiers
(au démarrage ou durant un processus spécifique) :
1 - vérifier la presence des éventuels fichiers ZIP et contrôler qu'ils n'ont pas déjà été décompressés ;
2 - s'ils n'ont pas déjà été décompressés, alors lancer une procédure silencieuse pour le faire ;
3 - conservant l'archive au cas où, par sécurité.

Un message d'alerte vous averti lorsque des fichiers en double sont trouvés

Image non disponible

Ces fichiers sont coloriés en rouge parmi les autres fichiers restés quant à eux, en noir.

Image non disponible

Afficher que les doublons

Vous pouvez, en cochant la case au-dessus de la liste, n'obtenir que les doublons...
Cela vous permet de les identifier et de les éliminer par suppression successive.

Image non disponible

Tant qu'il existera des doublons, vous ne pourrez pas passer à l'étape suivante.

Affectation du dossier source comme dossier parent

La source dans laquelle ils ont été puisés ne définit pas la destination, contrairement à la version de l'outil d'empaquetage 2000 (pour les composants et librairies) que, de loin, je considère être le mieux conçu, en tout cas sur ce point.

Donc, vous pouvez définir les sous-dossiers cibles manuellement pour chacun de vos fichiers inclus :
par exemple, définir que vous souhaitez stocker les fichiers d'aide dans le dossier .\Aide et/ou les images dans le dossier .\Images.

C'est pourquoi dans la dernière version, j'ai greffé la possibilité d'effectuer cette opération automatiquement ; la question vous est en effet posée.
A vous de confirmer selon votre choix.

L'assistant ajoute alors tous les fichiers de ce dossier en appliquant à chacun d'eux en guise de nom de sous-dossier cible, le nom depuis lequel ils sont stockés.

Image non disponible

Si vous choisissez Non, la question vous est posée afin que vous puissiez définir le sous-dossier avec le nom de votre choix.

Image non disponible

Vous spécifiez alors le nom du sous-dossier voulu en lieu et place de la proposition par défaut (qui est le sous-dossier source initial)...

Image non disponible

Si vous choisissez Annuler lors de l'ajout d'un dossier, l'action est annulée.

Image non disponible

Dans l'exemple illustré, l'application exploite ses données depuis le sous-dossier .\Data.
Si les fichiers sources 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

Structure du chemin d'installation
Sélectionnez
%Lecteur %\ %Dossier % \ %Nom du répertoire de votre Application % \ %Nom du sous-répertoire %
Image non disponible

Rappel :
Il est impossible d'ajouter une seconde fois un même fichier...

Suppression de fichiers

Vous pouvez supprimer un à un les fichiers qui ne sont plus à inclure (cas de modification).
Cette action est confirmée par un message.

Image non disponible

Vous pouvez aussi supprimer tous les fichiers qui composent la liste.
Cette action est elle aussi confirmée par un message et toutes deux sont irréversibles si le package est sauvegardé à l'étape 6.

Image non disponible


Clés de registre à créer pour ce package

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.

Il se peut que votre application ait besoin d'accéder à certaines entrées du registre qui ne peuvent pas être ajoutées par votre application avant son installation.
De ce fait, le programme d'installation vous permet d'ajouter des entrées spécifiques connues à l'avance.

- Les clés racines sont HKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE selon votre besoin.
- Dans la partie Chemin de la clé, inscrivez le chemin complet sans terminateur :

Exemple d'entrée de registre
Sélectionnez
Software\Argyonet Créations\Outils Office

- La colonne Nom de la clé précise quelle clé ajouter au chemin en amont.

- La colonne Nom valeur précise quelle valeur ajouter (partie droite de l'éditeur).

- La colonne Valeur précise la donnée correspondant à la colonne Valeur.

Exemple concret :

 
Sélectionnez
HKEY_LOCAL_MACHINE\SOFTWARE\Software\Argyronet Créations\Office\16.0\Access\Wizards\Assistant Package 2016\ [Installed] | 1

Dans la spécification ci-avant, j'ai défini la Valeur Installed dans la section HKEY_LOCAL_MACHINE à la clé Assistant Package 2016 du chemin SOFTWARE\Software\Microsoft\Office\16.0\Access\Wizards.

Ne définissez pas d'emplacement approuvé ici.

La définition est définissable automatiquement à l'étape 6.

Définir un Emplacement Approuvé permet de faire en sorte que votre application ne soit pas vérifiée par le Centre de gestion de la confidentialité.

Cela s'applique particulièrement aux applications comportant des modules VBA, des connexions de données et des contrôles ActiveX (contenu actif).

Si vous souhaitez définir votre application comme provenant d'une source fiable, vous devez cocher cette case afin qu'un emplacement approuvé soit défini en fonction du chemin d'installation spécifié.

V-B-7-a. Le package n'inclut et n'inscrit pas les bibliothèques référencées

Eh oui, ici aussi (voir section 5-2-4-1 du tutoriel 2010), je n'ai pas encore prévu cette fonctionnalité.

Toutefois, il peut s'avérer un peu superflu d'avoir à inscrire des composants pour cette version de Microsoft Access 2016, et ce, depuis la version 2007.
En effet, à l'époque, il était nécessaire de fournir des composants spécifiques de type OCX pour bénéficier par exemple du contrôle de texte enrichi (RECHED32.OCX) et du contrôle calendrier (MSCAL.OCX) pour les plus connus et les plus usités d'entre eux. Et ces derniers devaient être inscrits dans le registre de Windows pour éviter l'erreur 429.
Ces deux fonctions faisant désormais partie intégrante de Microsoft Access, il n'est plus nécessaire de distribuer ces composants qui par ailleurs, font l'objet du désagrément d'être "killbité" (excusez mon anglicisme, mais il n'y a guère de traduction ad hoc).

Dans ce formulaire existe un bouton vous permettant de visualiser les références de votre application.

Cela peut s'avérer nécessaire si vous avez besoin de connaître les caractéristiques d'une référence et vous aider éventuellement dans l'alimentation de la grille de gestion des entrées de registre. Par ailleurs, vous avez la possibilité d'exporter la liste afin de pouvoir récupérer plus aisément des informations difficiles à mémoriser.

Image non disponible

Un message vous demandera de confirmer l'affichage de ces références…

Image non disponible
  • Si votre base de données est protégée par mot de passe et que ce dernier a été renseigné durant l'étape précédente, il ne vous sera pas redemandé.
  • Si vous avez refusé de le fournir, il vous sera demandé dans cette étape pour obtenir les références.
  • Si vous ne le fournissez toujours pas, eh bien la liste ne sera pas visible.
  • Sinon, après un court chargement, le formulaire liste les références comme suit :
Image non disponible

Dans ce formulaire, vous pouvez exporter la liste des références dans un fichier texte ; vous pouvez alors récupérer aisément des informations relatives à telle ou telle référence.

Si toutefois il ne se passe rien pendant un temps trop long, c'est qu'il y a quelque chose qui bloque au niveau de l'application en cours d'empaquetage.

Tentez d'appuyer sur la touche Echap ; souvent, cela débloque la situation.

Image non disponible

V-C. Étape 5/6 - Propriétés du package et fichiers de l'installeur

Cette fenêtre est elle aussi subdivisée en deux zones :

  • première zone : Information sur le produit installé ;
  • seconde zone : Fichier du programme d'installation
Image non disponible

Il est fortement recommandé de préciser la version pour votre application...

Image non disponible

Information sur le produit installé

Ce sont les propriétés générales ; vous définissez ici le nom de l'application, l'éditeur, la version, la personne à contacter et le site Web pour le support accompagné d'une zone d'informations supplémentaires.

Ces éléments seront utiles et visibles à partir du Panneau de configuration dans la rubrique d'installation ou de désinstallation des programmes.

Fichier du programme d'installation

Dans cette zone, vous devez si nécessaire, spécifier le document faisant office de clauses du contrat de licence de l'utilisateur final CLUF (ou EULA en anglais).
Cliquez sur le bouton Parcourir pour choisir le fichier RTF correspondant.

Il apparaîtra lors du lancement du Setup au moment où l'utilisateur devra ou non accepter les termes de la licence.
Par ailleurs, un bouton vous permet de visualiser le document RTF en question si toutefois vous vouliez le relire ou le modifier.

Image non disponible


Les deux autres zones de texte suivantes représentent respectivement la définition d'une image d'arrière-plan d'une part, et d'une image de titre d'autre part, toutes deux étant exploitées au moment de l'exécution du Setup.exe par l'utilisateur.

  • Si vous voulez personnaliser votre Setup, choisissez deux images (assez simples et plutôt pastel) en respectant les dimensions.
  • Si vous n'en voulez pas, l'écran du Setup restera à dominante grise.
  • Si vous voulez que le Setup utilise les images par défaut fournies avec cet Assistant, cochez la case appropriée.


Les images d'arrière-plan et de titre sont fournies ( gracieusement  ;o) avec l'application :

Image non disponible
Image d'arrière-plan
Image non disponible
Image de titre

Si vous préférez utiliser les vôtres, veuillez respecter les dimensions et formats suivants :

Image

Nom fichier

Taille fichier

Profondeur couleur

Dimensions

Format

Image d'arrière-plan

Background.bmp

max 500 Ko

24

495 x 312 pixels

Bitmap

Image de titre

Banner.bmp

max 100 Ko

24

495 x 59 pixels

Bitmap

V-D. Étape 6/6 - Fin de la préparation du package

Cette dernière fenêtre est elle aussi subdivisée en trois zones :

  • première zone : C'est terminé... ;
  • seconde zone : Emplacement Approuvé ;
  • troisième zone : Sauvegarder le package.
Image non disponible

C'est terminé...

Comme cela se comprend ici, vous avez terminé la préparation de votre package en précisant les options possibles de cette dernière étape.

Emplacement Approuvé

Définir un Emplacement Approuvé permet de faire en sorte que votre application ne soit pas vérifiée par le Centre de gestion de la confidentialité.

Dans la version 2010 de l'Assistant, Solution de Package était créé par défaut dans un emplacement approuvé.

Mais il n'était pas opérationnel, car il était défini dans la mauvaise clé à savoir 12.0 au lieu de 14.0.

Je ne m'en suis aperçu que bien tard et n'ai pas pris l'initiative de vous en parler dans le tutoriel de la version 2010 puisque je l'ignorais jusqu'en 2013.

De ce fait, nombreux sont ceux d'entre vous qui avaient sollicité le forum pour connaître la marche à suivre pour en définir un.

Cela s'applique particulièrement aux applications comportant des modules VBA, des connexions de données et des contrôles ActiveX (contenu actif).
Si vous souhaitez définir votre application comme provenant d'une source fiable, vous devez cocher cette case afin qu'un emplacement approuvé soit défini en fonction du chemin d'installation spécifié.

Sauvegarder le package

Ainsi que je vous en ai parlé au début de ce tutoriel, vous avez la possibilité de sauvegarder le package de deux manières.

La clé d'enregistrement de votre package étant basée sur son Nom, si vous avez créé un Nouveau Package, il n'y aura pas d'alerte.

En revanche, si vous avez modifié un package existant, vous avez le choix entre le sauvegarder (remplacer) et le sauvegarder-sous (Nouveau), la différence entre ces deux opérations s'établissant en changeant le nom :

- si ce nom n'est pas changé, et après confirmation, le package existant sera mis à jour avec les nouvelles modifications ;
- si ce nom est modifié, toujours après confirmation, le package existant choisi sera conservé dans son état initial et le nouveau sera fondé sur celui sélectionné et modifié avec les nouvelles spécifications que vous avez effectuées durant les étapes du processus d'empaquetage.

Vous pouvez aussi sauvegarder le package sans le générer en cochant la case appropriée.

Activer les emplacements approuvés sur le réseau

Dans la derneière version, vous pouvez désormais activer les emplacements approuvés sur le réseau.
Cette option est bien évidement pas recommandée mais il faut relativiser et ne pas considérer de façon aveugle que le risque est grand si cette option est effectivement cochée.

Ceci dit, j'ai tout de même affiché un message d'alerte inspiré de celui de Microsoft afin de vous rappeler qu'il est quand même impératif de prendre les dispositions qui s'imposent selon le contexte dans lequel vous travaillez.

Image non disponible

Propriétés de votre application

Dans le bas de la fenêtre, vous apercevez le bouton Propriétés….

Vous pouvez définir des propriétés pour votre package afin qu'elles soient lisibles lors de la consultation des propriétés du fichier depuis l'Explorateur Windows.

Image non disponible

Cette fenêtre comporte l'ensemble des champs qui pourraient être utiles pour informer quiconque du type et de la provenance du fichier.

Image non disponible

Dans la mesure du possible, si vous souhaitez définir des propriétés pour votre application, essayez de les renseigner toutes.

Image non disponible

Lorsque vous avez terminé, cliquez sur Valider ; celles-ci resteront alors stockées sauf si vous ne sauvegardez pas le package.

V-D-1. Sauvegarde du modèle et génération du package

Tous les éléments constitutifs nécessaires à la génération de votre package sont maintenant terminés ici.

Si vous n'avez pas coché l'option de l'emplacement approuvé.

Image non disponible
Message de confirmation de l'emplacement approuvé omis

ou bien celle de la sauvegarde.

Image non disponible
Message de confirmation de sauvegarde omise


Cela ne vous empêche pas de générer votre package, mais une alerte vous prévient de manière à ce que vous puissiez vous raviser.

Notez que si vous n'enregistrez pas, il n'y a aucun moyen de récupérer la définition du modèle de package.

Cliquez sur le bouton Terminer pour générer votre package.

Image non disponible


Votre application à empaqueter et ses tables liées

En cas de mise à jour d'une application déjà installée auparavant sur le poste client, le package en cours de génération implique que la base de données dorsale existante sera remplacée sur le poste de travail par le fichier vierge que vous ajoutez et écrasera par le fait les données existantes de votre client.

Sauf si vous lui avez appliqué un autre sous-dossier cible, elle sera déployée dans ce sous-dossier sans écraser la base dorsale existante.

Donc, si votre application était déjà installée sur le poste client, il est recommandé de ne pas inclure la base de données dorsale par défaut, sous-entendu que celle-ci est déployée normalement dans le même dossier que l'application.
Si la structure des tables a fortement évoluée, il est préférable de l'inclure dans un autre sous-dossier spécifique, sauf si vous avez prévu un jeu de procédures idoines permettant de mettre à jour et/ou d'insérer de nouvelles valeurs ou encore de créer les champs dans des tables existantes voire créer de nouvelles tables sur la base dorsale en place.
Cela permet de conserver les données de votre client et de mettre à jour la structure en adéquation avec la nouvelle version de votre application.

Votre application doit alors démarrer avec une procédure de démarrage qui vérifie à chaque chargement :

En fonction de la version :
d'appliquer les mises à jour de structure de la base dorsale :
- d'insérer les valeurs manquantes dans les tables (INSERT) ;
- de mettre à jour des valeurs existantes dans des tables (UPDATE) ;
- d'ajouter les tables manquantes (CREATE TABLE) ;
- d'ajouter les champs manquants (ALTER COLUMN) ;
- de modifier (si nécessaire) la structure des champs existants (ALTER COLUMN) ;
- d'exécuter une procédure de rattache automatique des table liées ;
- de mettre à jour la version sur la base dorsale ;
- d'ouvrir le formulaire de démarrage.

V-D-2. Récupération du package (ou non selon l'option cochée)

Si la case de sauvegarde seule n'est pas cochée, au bout de quelques secondes, le package est généré dans le dossier que vous avez spécifié.

Un message de fin de procédure fait son apparition.

Image non disponible


Puis, l'Explorateur de fichiers s'ouvre alors sur ce dossier vous présentant ainsi votre package.
Le dossier visible inclut le fichier MSI et tous les fichiers nécessaires à son exécution.


Le modèle de votre package est dès lors sauvegardé.
Une fois que vous avez cliqué sur OK, la fenêtre se ferme et libère l'application Access sur la base de données que vous aviez ouverte.

Si vous avez coché la case n'autorisant que la sauvegarde, le package est sauvé sans être généré.
Le message de fin sera alors le suivant :

Image non disponible
V-D-2-a. Annulation du processus

Dans cette version, vous pouvez à l'instar de la version 2013, annuler la totalité du processus de création du package…



Un message de confirmation est toutefois en place au cas où…

Image non disponible

V-E. 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 trouve le fichier MSI qui porte le nom de votre application ainsi que l'exécutable du Runtime (dans la langue appropriée) si vous l'avez inclus à votre package.

V-F. Le fichier AutoRun pour votre CD-Rom

L'Assistant Package génère systématiquement un fichier AutoRun pour votre package pour le cas où vous proposeriez un package dans un CD-Rom pour l'installation.

Même si cela paraît évident, le lancement automatique de l'installation via un CD-Rom requiert que le Service de Notification d'Insertion de CD sur le poste client soit activé.

Ce contenu du dossier peut alors être stocké sur la racine du CD-Rom gravé avec votre projet.

V-F-1. Pour concevoir un fichier Autorun manuellement

Si toutefois vous souhaitez personnaliser ou modifier le 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 = AppIcon.ico

Faites en sorte que le programme setup.exe tout comme l'icône AppIcon.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 le remplacez par celui existant dans la liste des fichiers de votre programme de gravure de CD-Rom.

VI. Évolution de votre package

Tous les packages que vous avez sauvegardés sont disponibles dans la liste de l'étape 1 avec la date.
Lorsque vous sélectionnez un package existant, vous retrouvez toutes les informations que vous avez renseignées.

VI-A. Gestion des packages sauvegardés de l'Assistant

Lorsque vous travaillez avec l'Assistant Package, vous pouvez être amené à redéployer une version de votre application pour la simple raison que cette dernière a évolué ou que vous avez la nécessité d'ajouter ou modifier des éléments qui l'accompagnent.

L'utilisation des modèles assure un gain de temps intéressant.

Dès que vous choisissez un package existant, vous pouvez avoir à l'esprit deux initiatives :

1°) Régénérer un même package avec quelques petites modifications ;
2°) Générer un nouveau package à partir d'une sauvegarde du fait que celui-ci est très similaire à celui sélectionné.

VI-A-1. Après avoir sélectionné un package, vous pouvez effectuer diverses opérations 

- Renommer un package.
- Créer une copie du package 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 déployer un package similaire, vous devrez reconstruire à nouveau ce projet.
Veillez donc à ne supprimer que les modèles dont vous êtes sûr de ne plus avoir besoin.

VI-B. Modification ou évolution de votre application

Il est très probable que vous ayez à faire évoluer ou modifier 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é des bibliothèques qui n'y figuraient pas dans la version précédente.

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

Toutefois, ce générateur de package vous empêchera de le faire puisque le MSI généré est coiffé d'un système de contrôle de l'installation.

Image non disponible

Dans les versions antérieures, on ne pouvait généralement plus désinstaller (proprement) une précédente application si plusieurs installations hétérogènes se sont succédé sans qu'elles aient été désinstallées d'abord.


Ici, vous n'avez pas d'autre choix :

  • soit vous réinstallez ;
  • soit vous supprimez l'application.

Si elle est supprimée, alors vous pourrez envisager d'installer la nouvelle version que vous auriez modifiée.

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

En revanche, si le Runtime a été installé avec l'application, il sera lui aussi désinstallé.

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 une méthode plus rapide, surtout en réseau où de nombreux postes sont tous identiques.

VI-B-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 évolutions 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 facultativement générer un nouveau fichier ACCDE pour vérifier que votre application est sans erreur et que vous envisagez de nouveau de distribuer un package.

Lorsque j'écris sans erreur, ce n'est pas une règle ! Il est évident qu'un code écrit :

- sans instructions Option Explicit ;

- avec des variables mal typées, voire toutes en Variant ;

- des On Error Resume Next un peu partout ;

- des passages de paramètres par référence (ByRef) au lieu d'un passage par valeur (ByVal) sans justification réelle ;

- aucune gestion d'erreurs digne de ce nom ;

- etc.

va compiler sans problème et pourra générer un ACCDE en toute simplicité.


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

Si toutefois vous avez modifié un fichier quelconque déjà référencé par le package, il sera pris en compte dans sa nouvelle version.

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 physiquement des fichiers absents du modèle de package, vous devrez les ajouter à la liste lors de la prochaine session de l'Assistant Package, sans quoi, ils ne seront pas pris en compte lors de la nouvelle génération du package.

Si toutefois vous avez déplacé, renommé ou supprimé un des fichiers quelconques qui constituaient le package, vous recevrez un message d'erreur conséquent qui se traduira par une erreur 53.

VI-B-2. Rempaquetage de votre projet modifié

L'Assistant Package 2013 ne permet pas de régénérer rapidement vos jeux de fichiers MSI à partir d'un simple fichier Batch comme dans les versions 2000 et 2003…

Pour régénérer un package, vous devrez alors lancer l'Assistant Empaquetage à partir d'Access 2016 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 la dernière étape de génération de votre empaquetage. Il est accompagné de la date de génération, ce qui permet de le repérer sans doute plus facilement.

Si vous avez modifié votre application au niveau des DLL et autres composants, il est indispensable de fournir un nouveau MSI et non la simple copie du ACCDE mis à jour. Vous devrez par ailleurs envisager de modifier le programme d'inscription de ces composants dans la base de registre si toutefois ces composants nécessitent d'être inscrits.
Ce programme d'inscription n'existe pas et il vous appartiendra de créer la routine correspondante et faire en sorte qu'elle s'exécute en même temps que l'installation de votre application à travers le package installation.

 
Pour ce faire, il vous faudra adapter le fichier setup.ini en greffant une nouvelle installation chaînée comme expliqué dans le tutoriel 2010 à la section 5-2-4-1-1 Comment mettre en place un autre package ?

VI-B-3. Régé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 Outils de base de données puis sur l'élément Compléments où vous cliquez sur Package Wizard 2016 comme vu à la section :
Lancement de l'Assistant Package.

Sélectionnez alors votre package à partir de la liste des modèles sauvegardés pour le charger.

Image non disponible

Vous retrouvez alors toutes les informations propres à ce package.

Image non disponible


Vous passez en revue les six étapes en apportant les éventuelles modifications, notamment sur l'ajout des fichiers supplémentaires et surtout la version puis cliquez sur OK pour terminer.

Vous pouvez alors comme nous l'avions vu, mettre à jour ce package ou bien créer une nouvelle version de ce package en changeant simplement le nom.

Image non disponible


Tout comme précédemment, l'Explorateur Windows sera affiché avec le contenu du package.

Si le dossier du précédent package existe encore, le nouveau sera incrémenté de 1.

VI-C. Enregistrement de votre package sur une source d'installation

Lorsque votre package est prêt, vous pouvez le stocker sur une source de votre choix afin de faire en sorte qu'il puisse être installé sur un poste client. Vous pourrez également inclure d'autres fichiers comme 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.

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

- AccessRuntime16_fr-fr_x86.exe (ou sa version anglaise) en 32 ou 64 bits ;
- et bien entendu, le fichier MSI de l'application à installer.

VII. 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, notamment Windows 8.1 et 10.

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 différents systèmes d'exploitation.

VII-A. 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.

Vous pouvez également ne lancer que le fichier MSI, le setup.exe étant réservé plus particulièrement aux lancements automatiques.

VIII. Exemple d'installation sur un poste client

VIII-A. Installation standard sans Runtime (Access 2016 présent sur le poste)

Une fois le package généré, embarquez le dossier Package_X (où X représente le compteur) sur la machine cible.
Dans notre exemple, j'ai utilisé une machine virtuelle Windows 7 SP1 avec Office 2016 Professionnel.

Image non disponible
Localisation du programme d'installation


Ouvrez alors le fichier Setup.exe

Image non disponible
Confirmation du programme modifiant votre ordinateur


La fenêtre de préparation de l'installation s'affiche alors un court instant.
Durant ce processus, l'installeur analyse votre système sous différents angles et notamment la version de Windows, l'éventuelle installation antérieure de cette application, etc.

Image non disponible
Préparation de l'installation


Si tout va bien, il vous est alors présenté ce qui va être installé.

Sinon, la fenêtre vous informe :

  • soit de l'impossibilité de réaliser l'installation ;
  • soit de Réparer ou Supprimer celle-ci (si elle a déjà été installée).
Image non disponible
Présentation du programme installé


Cliquez sur Suivant.
Vous acceptez alors les conditions de la licence ; (vous remarquerez la similitude entre ce package d'installation et celui qui a permis d'installer le complément).

Image non disponible
Accord de licence


Cliquez sur Suivant.
Entrez ici les noms et organisation.

Image non disponible
Informations sur l'utilisateur


Cliquez sur Suivant.
Choisissez Par défaut ou Personnaliser selon.

Image non disponible
Mode d'installation


Cliquez sur Suivant.
C'est ici la dernière étape avant l'installation effective.

Image non disponible
Processus de validation de l'installation


La progression de l'installation suit son cours.

Image non disponible
Installation en cours.


Puis se termine ici après un certain temps.

Image non disponible
Installation terminée


Et l'icône est créée sur le Bureau si peu que vous ayez coché l'option durant l'étape 3 de l'assistant.

Image non disponible
Icône de l'application installée sur le Bureau


Dans l'Explorateur Windows, vous voyez le fichier de l'application Access et les sous-dossiers que vous avez déclarés durant l'étape 4.

Image non disponible
Emplacement physique de l'application

Base de registre
Ainsi que prévu, si vous avez coché le fait que vous souhaitiez un Emplacement approuvé, il est créé automatiquement dans le registre.

Image non disponible
Emplacement approuvé de l'application


Dans ces conditions, l'application empaquetée se charge sans alerte d'avertissement bloquant.

Image non disponible
Lancement de l'application

VIII-B. Installation avec Runtime (Access 2016 absent du poste cible)

Dans ce programme comme dans la version 2013, j'ai également supprimé la vérification de la présence du programme Access ou de son Runtime avant que ne soit effectuée l'installation effective de l'application.

Cela était en effet contradictoire (notamment dans la version 2010 de l'Assistant de Solution de package) dans le sens où vous deviez installer le Programme Access ou son Runtime avant d'installer l'application.

Or, le processus d'installation du Runtime s'effectue par installation chaînée, il est donc installé après que l'application a été elle-même installée ce qui est tout de même étrange.

Du coup, ici, vous pourrez installer l'application, mais elle ne marchera que s'il y a quelque chose pour la faire tourner, et donc MSACCESS.EXE.

Image non contractuelle pour 2016
Message d'erreur du MSI d'un package 2010

Une fois le package généré, embarquez le dossier Package_X (où X représente le compteur) sur la machine cible.
Dans cet exemple, j'ai utilisé une autre machine virtuelle Windows 7 SP1 sans Office 2016 ni le Runtime.

Image non disponible
Menu Demarrer de Windows 7


Localisez le fichier d'installation Setup.exe comme vu à la section précédente.

Image non disponible
Localisation du programme d'installation


Ouvrez alors le fichier Setup.exe.
La fenêtre de préparation de l'installation s'affiche alors un court instant.
Durant ce processus, l'installeur analyse votre système sous différents angles et notamment la version de Windows, l'éventuelle installation antérieure de cette application, etc.

Image non disponible
Préparation de l'installation


Si tout va bien, il vous est alors présenté ce qui va être installé.

Remarquez ici que la fenêtre vous présente les deux étapes d'installation :

- l'application d'une part ;

- le Runtime d'autre part.

Image non disponible
Présentation du programme installé


Sinon, la fenêtre vous informe :

  • soit de l'impossibilité de réaliser l'installation ;
  • soit de Réparer ou Supprimer celle-ci (si elle a déjà été installée).


Cliquez sur Suivant.
Vous acceptez alors les conditions de la licence (vous remarquerez la similitude entre ce package d'installation et celui qui a permis d'installer le complément).

Image non disponible
Accord de licence


Cliquez sur Suivant.
Entrez ici les noms et organisation.

Image non disponible
Informations sur l'utilisateur


Cliquez sur Suivant.
Choisissez Par défaut ou Personnaliser selon.

Image non disponible
Mode d'installation


Cliquez sur Suivant.
C'est ici la dernière étape avant l'installation effective.

Image non disponible
Processus de validation de l'installation


La progression de l'installation suit son cours.

Image non disponible
Installation en cours.


Puis se termine ici après un certain temps…

Image non disponible
Installation terminée


Et l'icône est donc créée sur le Bureau si peu que vous ayez coché l'option durant l'étape 3 de l'assistant.

Image non disponible
Icône de l'application installée sur le Bureau


L'installation étant terminée, ainsi que vous le constatez dans l'illustration ci-dessous, l'application est bien installée, mais on voit bien que l'image de son icône reste blanche du fait qu'elle n'est associée à aucun programme connu.

Normal, puisque le Runtime n'est pas encore installé.

Image non disponible
Emplacement physique de l'application


D'ailleurs, si à ce stade vous cherchez à ouvrir l'application, un message vous informe qu'il ne trouve aucun programme pour le faire.

Image non disponible
Emplacement physique du programme associé

Installation du Runtime
C'est alors que démarre l'installation du Runtime.

Image non disponible
Extraction des fichiers


L'installation est assez longue à décoller.

Image non disponible
Démarrage de l'installation…


Elle vous demande de confirmer l'acceptation du contrat de licence logiciel Microsoft

Image non disponible
Acceptation du CLUF


L'installation démarre…

Image non disponible
Installation en cours…


Puis se termine par cette dernière fenêtre (qui vous propose de continuer en ligne, histoire de voir les éventuelles mises à jour).

Image non disponible
Fin de l'installation


Dans l'Explorateur Windows, vous voyez le fichier de l'application Access et les sous-dossiers que vous avez déclarés durant l'étape 4.
Remarquez que cette fois, l'icône (et surtout l'application) est bien affectée à MSACCESS.EXE (Runtime).

Image non disponible
Emplacement physique de l'application

Base de registre
De façon identique, si vous avez coché le fait que vous souhaitiez un Emplacement approuvé, il est créé automatiquement dans le registre

Image non disponible
Emplacement approuvé de l'application

IX. 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.

IX-A. Test de l'application installée sur un poste

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

IX-A-1. Poste 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 tests 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.

IX-A-2. Poste 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, 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 de ses 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 quoique, certaines commandes étant désactivées, il est conseillé de faire utiliser votre application par un tiers qui ne la connaît pas.

IX-A-3. Poste doté du Runtime Access conjointement avec une version différente de Microsoft Access

Bien que ce soit déconseillé, on considère que le poste client dispose d'une version de Microsoft Access antérieure à celle du Runtime 2016.

Dans ce cas, vous devez mettre en place une syntaxe particulière, car l'Assistant Package 2016 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 2016 ou bien de modifier les associations de fichiers 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 devez plutôt déplacer la base de données dorsale ne contenant que les tables sur le serveur dédié, car le setup ne saura pas le faire nativement. L'application frontale qui est liée à cette base sur chaque poste utilisateur sera installée dans le dossier que vous avez choisi durant la génération du package.

Au 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 (tables) dans un dossier dédié sur le serveur s'il s'agit d'une application multiutilisateur ou dans le dossier .\Nom de l'Appli\Data s'il s'agit d'une application mono-utilisateur.

Toutefois, pour un confort de développement (dû notamment aux lenteurs du réseau), il peut être préférable 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, et vous invite par le fait d'envisager de les optimiser ou de comprendre pourquoi.

IX-A-4. Doté d'une version 2007 ou 2010 de Microsoft Office

J'aborde ici un sujet un peu plus délicat dans le sens où la version antérieure à Office 2016 est sortie il y a près de six ans.
Du fait que les fichiers de type accd* sont du même format lorsqu'il s'agit d'Office 2010 ou 2016, je serais en droit de me dire qu'il ne devrait pas y avoir de problème de compatibilité.
Oui, c'est exact en théorie ; il n'y a pas de problème parce que si vous ouvrez une base Access créée sous Access 2010, elle s'ouvrira sans problème dans Access 2016 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é 2016 vers 2010 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 et ce particulièrement avec le Runtime qui pourrait poser des problèmes de comportement.

Donc si vous distribuez un package déployé avec Access 2016 à un utilisateur dont le poste est pourvu de la version complète de Microsoft Access 2010 ou de son Runtime, vous serez confronté à la problématique de fournir impérativement le Runtime 2016, mais aussi de faire en sorte de désinstaller toute version antérieure sans quoi, il sera sans doute impossible à l'utilisateur d'utiliser votre application.


Résumé des situations :

- si le poste est pourvu d'Access 2016 ou du Runtime 2016 => Package 2016 : installation sans problème ;
- si le poste est pourvu du Runtime Access inférieur à 2016 => Package 2016 : installation à risque* ;
- si le poste est pourvu d'Access inférieur à 2016 => Package 2016 : installation à risque*.

* Il vous faut fournir le Runtime 2016 avec votre package

IX-B. Erreur d'exécution au cours des tests

Vous n'êtes pas à l'abri de surprises en matière de bogues 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 ou une non-considération d'un élément de la part du développeur vis-à-vis de son application et/ou de son environnement.

IX-B-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 l'ACCDB) et fourni ou copié vous-même l'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.)

- Il est également possible que vous rencontriez une erreur qui est fort peu commune certes, mais il m'est arrivé de la rencontrer de temps en temps qui se traduit elle aussi par le message stipulant qu'une bibliothèque n'est pas enregistrée, mais pour autant ne crée pas d'erreur numéro 429.
J'ai rencontré cette situation plusieurs fois avec la référence à Microsoft Scripting Runtime. La seule solution qui vous reste alors consiste à inscrire le composant par le biais de la commande permettant d'enregistrer ce type de bibliothèques dans la base de registre.

Pour de plus amples informations concernant la configuration requise pour les applications Microsoft Office 2016 et plus particulièrement Access qui est très gourmand en mémoire, je vous invite à vous rendre sur cette page afin de vérifier que les postes utilisateur répondent bien aux exigences de cette configuration.

Là non plus, il n'existe pas de page configuration système requise pour Office 2016 et donc, on part du principe que celle de 2013 est valable pour 2016.

IX-C. 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é, 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

Dans le même esprit, vous ne pouvez pas lancer MSACCESS.EXE en tant que programme lorsqu'il s'agit du Runtime.

Image non disponible
Base de données obligatoire



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 (cf. 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.

IX-C-1. Spécification d'un formulaire de démarrage et des options de démarrage

La boîte 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 dans l'exemple, ci-dessous où vous sélectionnez le nom du formulaire à charger (ici Boîte de dialogue connexion).

Image non disponible
Options de démarrage



Pour une sécurité totale, vous pouvez décocher tout 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.

IX-C-2. Exemple de formulaire de démarrage

Ce formulaire de démarrage qui n'est pas un " Splash Screen " pour l'application citée en exemple dans ce document.
Un " Splash Screen " est en général un formulaire temporisé autorefermable.

Image non disponible
Exemple de formulaire de démarrage
IX-C-2-a. Génération d'un formulaire de démarrage temporisé

Pour concevoir un formulaire autorefermable, vous pouvez exploiter l'événement Timer fixé à quelques secondes et parallèlement à cela, une routine se charge de faire quelques opérations de contrôle pour enfin afficher un formulaire de Connexion ou un Menu Principal.

Par exemple, il peut afficher un formulaire (présentant rapidement l'application chargée, histoire de faire patienter l'utilisateur) pendant le nombre de secondes défini avant de l'éliminer de l'écran et afficher ensuite le formulaire attendu.

Dans l'exemple de formulaire de démarrage de la version des Comptoirs ci-dessus, un bouton Connexion permet de fermer le formulaire une fois l'utilisateur sélectionné. Selon le type d'application distribuée, ce formulaire de connexion avec Login peut également exiger un mot de passe.

X. Installation indépendante 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 si vous générez un package d'installation qui l'embarque, celui-ci étant installé automatiquement.

X-A. Installation manuelle

Vous pouvez télécharger le Runtime Microsoft Access 2016 directement ou le récupérer dans le dossier :

 
Sélectionnez
C :\Users\%username%\AppData\Roaming\Microsoft\AddIns\pkwRuntime


puis l'installer aussitôt.

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 AccessRuntime16_fr-fr_x86.exe (ou celui de la langue et technologie souhaitées) 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.

Vous pouvez revoir le processus d'installation du Runtime ici.

X-B. Installation automatique du Runtime

Comme vu précédemment, 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é la case appropriée.

Retournez sur la section concernée à la génération d'un package à l'aide de l'Assistant Package, plus haut dans ce document.

X-C. 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

Tout fichier MDA/MDB/MDE d'applications présentes sur le poste verra ses associations mises à jour automatiquement.

XI. 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és ;
  • 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 (même incorporées) est plutôt déconseillé sauf si vous ne maîtrisez pas Visual Basic.

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.

XI-A. Comment se présente le programme Runtime ?

Vous ne pouvez pas installer le Runtime Access 2016 sur un poste pourvu de la version complète de Microsoft Access 2016 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 est présente sur le poste devant recevoir le Runtime Access 2016, il est fortement conseillé de procéder à des essais préalables, même si théoriquement, aucun conflit n'est intercepté, excepté les associations de fichiers dans l'Explorateur Windows.

XI-A-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.

XII. Les erreurs liées à l'installation

XII-A. 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 tenté d'instancier une classe issue du composant Mantes-la-Jolieque vous avez créé.

 
Sélectionnez
Set oMyClass = CreateObject("MaJolieClasse.clsFonctions")

Résolution
Dans ce cas précis, seule l'inscription de votre composant DLL résoudra le problème.
Concernant justement les composants de type COM qui nécessitent une inscription au registre, vous devez les enregistrer manuellement ou via un programme dédié. 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).

Vous pouvez également exploiter la propriété IsBroken d'un objet Reference dans une boucle For pour les lister depuis une procédure externe d'une application de test dédiée à ce type de diagnostics.

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.

XII-B. Erreur liée à l'utilisation de MouseWheel.dll

Depuis la version 2007 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 signalé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.

Vous pouvez en cas de distribution de votre application sur différentes versions d'Access antérieures à 2007, vous rabattre sur la version qui ne nécessite pas d'inscription qui est disponible sur ce site ; elle a été développée par Thierry Gasperment alias Arkham46. Il vous propose un tutoriel sur l'exploitation de la molette de la souris sans avoir à inscrire le composant et donc, plus d'erreur 429 pour ce cas précis.


En revanche, si votre application est au format 2016, je vous conseille tout bonnement de supprimer ces appels devenus inutiles.

XIII. Conclusion

Tout comme pour Access 2013, il semble qu'Access 2016 ait subi le même sort vis-à-vis de l'outil de déploiement. Simplement, maintenant, c'est sans doute mieux accepté. Du reste, et je vous en remercie, il semble également que l'outil d'empaquetage 2013 ait remporté un peu plus de succès que j'en espérais. Tant mieux.

Nombreuses encore seront les applications Access dites de bureau et mettre en place ainsi que cela est souhaité de tous bords, des solutions cloud, n'est pas encore de coutume pour tout un chacun. Cela représente un coût non négligeable sur bien des points et pas seulement financier.

Pour tous ces développeurs qui ont rencontré quelques soucis avec l'outil d'empaquetage 2013 en ayant fait le pas sur 2016, j'ai pris la liberté de me repencher sur le sujet et de réitérer l'opération pour cette nouvelle version.

J'y ai ajouté, par leurs recommandations, quelques fonctions supplémentaires.

Espérant qu'il vous apporte une aide dans le déploiement de vos applications, je suis bien évidemment disposé à faire évoluer cette application si vous pensez que de nouvelles fonctionnalités seraient les bienvenues.

XIV. Informations relatives à la version Runtime de MSACCESS.EXE 2016

Note pour les utilisateurs d'Office Click-to-Run (C2R)

Comme déjà indiqué, MSOffice Click-To-Run (C2R) et MSI de la même version majeure ne peuvent être installés ensemble.
Actuellement, si vous utilisez Office/Access 2016 C2R, il est recommandé d'installer le MSI du Runtime Access 2013 si vous avez besoin d'une configuration côte à côte. Les deux versions 2013 et 2016 sont fonctionnellement équivalentes, et cette installation devrait résoudre les problèmes rencontrés.

 

XV. Téléchargements/Downloads

Image non disponible Vous pouvez télécharger L'assistant Package 2016 32/64 Bits sous 4 formes

Pour Microsoft Office 2016 32 bits FR
- Version complète FR avec Runtime 32 bits (224 Mo).
- Version complète FR avec Runtime 64 bits (302 Mo).
Pour Microsoft Office 2016 64 bits FR
- Version complète FR sans Runtime1 (1,1 Mo).
- Version complète FR sans Runtime1 (1,1 Mo).

Télécharger l'outil d'empaquetage pour Access 2016Télécharger l'outil d'empaquetage pour Access 2016

Image non disponible You can download Package Wizard 2016 32/64 Bits in 4 forms

For Microsoft Office 2016 32 bits US
- Full version with the US Runtime 32 bits (226 Mo).
- Full version with the US Runtime 64 bits (303 Mo).
For Microsoft Office 2016 64 bits US
- Full version 32 bits without Runtime1 (1,1 Mo).
- Full version 64 bits without Runtime1 (1,1 Mo).

Download the deployment tool for MSAccess 2016Download the deployment tool for MSAccess 2016

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 https://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.