Overview of Packaging Access 2003 Applications
This FAQ covers some overview information that you may find useful in understanding the technologies and choices you face when deciding to package your Access 2003 application to distribute to others. Retail or Runtime?
The first question you need to answer is whether all the users of your application will have a version of Access that can run your application installed on their computer or not. If you users already have the appropriate version of Access installed, all you need to do to deploy your application is to copy the database file (MDB or MDE) on to the user’s computer along with any supporting files and you’re ready to go. You can do this with a simple Copy statement, by sending a Zip archive or by using any of a number of setup creation tools.
If you users do not have a version of Access capable of running your application, you must use install the Access runtime components onto their computer in order for your application to function. The remainder of this FAQ will specifically address the Access 2003 runtime components.
Obtaining the Access 2003 runtime components
You will need to purchase the Visual Studio Tools for Office System (VSTO) in order to have the right to deploy your Access application to users who do now own the retail version of Access 2003. Actual pricing will vary based on which retailer you choose to purchase from.
VSTO is a suite of products that contains many components. What you need specifically to deploy your database is the Access 2003 Developer Extensions (ADE), which is included in the VSTO. The ADE has three things that you are probably interested in:
What exactly is a runtime component anyway?
There is no such thing as a stand alone Access application; in order to run an Access application; you need to have either the retail version of Access installed or the runtime version of Access installed. The ADE is the tool that gives you the rights to use and deploy the runtime version of Access to users who have not purchased the retail version of Access.
The runtime version of Access disables certain things available in the retail version of Access, such as the Database Container, the wizards, code debugging and a few other frills. Because of this, you need to build your own application user interface and you need to write code that has appropriate error checking since the runtime version of Access does not include the ability to debug. If you hit an unhandled error in your code during execution in the runtime, your application will just shut down.
Installing the Access 2003 runtime components
When you package your application using the ADE Package wizard and you have included the runtime components, they will automatically be installed onto the computer when your application is installed. It is worth taking a look at exactly what is happening when this happens. In Access 2003, the developer does not need to worry about managing the installation of the runtime components on a computer that already has the full version of Access 2003; in fact, you should not try to do this. Access 2003 manages installations of both the retail and runtime components by keeping track of how many times an installation package has tried to install the program. For those who like "techy" sounding words, this is called RefCounting. In layman's terms, this means that Access 2003 is only installed on a computer once, no matter how many times you try to install it. Each additional time you "install" Access 2003, the RefCount is incremented. Each time you "remove" Access 2003, the RefCount is decremented. When the RefCount is 1, Windows Installer will actually remove Access 2003 from the computer. Because of RefCounting, you can be assured that when you install two different applications that include the Access 2003 runtime components and then uninstall one of them, Access 2003 will still be available for the remaining application. This mechanism applies equally to both the retail and runtime versions of Access 2003, so there is no need to go to extra effort to determine if the full version of Access 2003 is installed as part of your installation package.
A word about packaging
The ADE Package wizard is a straight forward tool to create simple Windows Installer packages that can deploy your database application and the Access 2003 runtime components. In addition to letting you set all the properties you need to create a valid Windows Installer package, the wizard allows for you to include a list of additional files, set registry keys and control aspects of the shortcuts used to launch your application. That said, the ADE Package wizard is not a professional setup authoring program and it does have some limitation.
If your application requires a professional setup package, you should consider purchasing one of the many setup authoring packages available on the market. These tools will give you much more control of the user experience during setup and allow you more flexibility in creating your setup package. Remember, even if you choose to use a different setup authoring package, you still need to own the ADE in order to have the license to deploy the Access 2003 runtime components.
Before you build your package
OK, maybe this should have been the first section, but hey, this topic is about packaging your application. This section is just an added bonus. Packaging your application with the runtime version of Access does not do anything to change the application itself. Some posts I've seen have indicated that packaging an Access application will make your code and object design unavailable, this is not true. While it is true that the runtime version of Access does not support design operations, if your application is an MDB file, then anyone with the retail version of Access will be able to open your application in design mode.
If you want to protect the intellectual property of your VBA code, you should compile your database to an MDE file before packaging it. Compiling a database to an MDE file removes the source code so that users can not read it. You can compile a database either from within Access 2003 (Tools | Database Utilities | Make MDE) or by using the Custom Startup Wizard. If you want to prevent people from making changes to your objects, you need to secure your database.
There is more information about using the ADE Tools and deploying Access application both on MSDN and in the Microsoft KB. What others have said about testing your application across various platforms is important, be sure to examine and test all the functionality. You should also consider having a select group of your customers act as beta testers. Trust me, you will never think of all the different ways people will use your application; the ways you don't think of will result in unexpected behavior.
Warning about potential Confusion
Visual Studio has recently released a new bundle called Visual Studio .NET 2003 Professional Special Edition. This bundle does not include the Access Developer's Extensions. There has been some confusion around this as it does include the VS Add-in for Excel and Word and the marketing pages mention Visual Studio Tools for Office, but they mean the VS Add-ins, not the full VSTO box.
|This page has been accessed 3,408 times. This page was last modified 04:53, 5 February 2012 by Jack Leach. Contributions by Alan Greenwood Disclaimers|