Deploy Access 2007 applications
Updated: July 24, 2008
Applies To: Office Resource Kit
In this article:
This article discusses deployment planning for database applications created by using Microsoft Office Access 2007, along with the features of Access 2007 Runtime. To deploy Office Access 2007 applications that can run without an installation of Office Access 2007 on a user's computer, you can distribute them along with Access 2007 Runtime, which you can download at Access 2007 Download: Access Runtime.
Separating data and logic
You can create an Office Access 2007 application that combines data management and application logic in one file. This is the default application structure in Office Access 2007. Combining data management and application logic in one file provides the simplest deployment method, but this method works best if only one person uses the application at a time, and it involves some risk. For example, a user could cause data loss by unintentionally deleting or damaging the program file.
In most cases, you should separate data management and application logic. This helps improve:
Security Using a server for data storage can help keep data secure.
Performance Using a split database or a database server can help reduce network traffic.
Customizability New macro actions for the Navigation Pane can help you control who sees what. You can distribute different application logic files to different users.
Portability The Work Offline and Synchronize commands can help users who are not in the office.
One way to separate data and logic is by using the Access Database command (on the Database Tools tab, in the Database Tools group). The Access Database command splits the database application into two Office Access 2007 files: one for data and one for logic. When you use the Access Database command, Office Access 2007 creates a file that has "_be" (meaning "back-end") appended to the file name. For example, if the original database file name is "Database1.accdb," Office Access 2007 creates a new database file that is named "Database1_be.accdb."
Another way to separate data management and application logic is by using a database server program (such as Microsoft SQL Server) for data management, and Office Access 2007 for application logic.
To decide whether a single Office Access 2007 file is sufficient for both data management and application logic, consider the following:
Data integrity and security Office Access 2007 users must have read/write permissions for the file that contains the application logic. If you combine data and logic in one file, the data is exposed to the same risks as the application logic. An Office Access 2007 application that uses separate logic and data files can help protect data integrity and security by taking advantage of NTFS security features. Because users need explicit read/write permission only to the application logic file, the data file can be made more secure.
Your application might require additional security options, such as the ability to control which users have access to particular data. In this case, you should use a server product such as SQL Server or a Windows server operating system featuring Windows SharePoint Services 3.0 to store and manage your application data, and use Office Access 2007 to provide the application logic.
Scalability An Office Access 2007 file can have a maximum size of 2 gigabytes (GB). Although 2 GB is a significant amount of text data, it might be insufficient for some applications, especially applications that store attachments in database records. If you separate the data and the logic, your application can accommodate more data. If you expect that users will store a large volume of data, you might consider using more than one Office Access 2007 data file. You should also review the Office Access 2007 program specifications for other scalability information.
Network capacity If multiple users will have to use the application at the same time over a network, data corruption is more likely to occur if the data and logic are combined in one file. Moreover, if you combine the data and the logic in one Office Access 2007 file, you cannot optimize the network traffic that Office Access 2007 generates. If multiple users will simultaneously use your application over a network, you should separate the data and the logic, either by using two or more Office Access 2007 files, or by using a database server product for data and Office Access 2007 for application logic.
Using Access 2007 Runtime
If all of your users will have Office Access 2007 installed on their computers, they can open and use the application as they would any database file in Office Access 2007. If some or all of your users will not have Office Access 2007 installed on their computers, you will have to deploy Access 2007 Runtime to those users when you deploy your application. You can download Access 2007 Runtime at Access 2007 Download: Access Runtime.
Access 2007 Runtime is a redistributable program that lets people who do not have Office Access 2007 installed on their computers to use Office Access 2007 database applications. When you open an Office Access 2007 database by using Access 2007 Runtime, the database opens in runtime mode. Runtime mode is an Office Access 2007 operating mode in which certain Office Access 2007 features are not available by default. However, some of these unavailable features can be made available in runtime mode.
The following features in Office Access 2007 are not available in runtime mode:
Navigation Pane The Navigation Pane is not available in runtime mode. This helps prevent users from accessing arbitrary objects in the database application. Only those objects that you expose to users — for example, by providing a switchboard form — can be opened while using runtime mode. You cannot make the Navigation Pane available in runtime mode.
The Ribbon By default, the Ribbon is not available in runtime mode. This helps prevent users from creating or modifying database objects, and from performing other potentially harmful actions, such as connecting to new data sources or exporting data in ways that you do not intend. You can create a custom Ribbon, and then associate that Ribbon with a form or report. You cannot expose the default Ribbon tabs in runtime mode.
Design view and Layout view Design view and Layout view are not available for any database objects in runtime mode. This helps prevent users from modifying the design of objects in the database application. You cannot enable Design view or Layout view in runtime mode.
Help By default, integrated Help is not available in runtime mode. Because you control what functionality is available in your runtime mode application, some of the standard integrated Office Access 2007 Help content might be irrelevant to people who use your application, and could potentially confuse or frustrate them. If you are using the Access 2007 Developer Extensions to package and deploy the database application, you can provide a custom Help file together with your runtime mode application.
You can run any Office Access 2007 database in runtime mode on a computer that has the full version of Office Access 2007 installed. To run an Office Access 2007 database in runtime mode, use one of the following methods:
Change the file name extension of the database file from .accdb to .accdr.
Create a shortcut to the database, and include the /Runtime command-line switch in the shortcut.
Although runtime mode limits the availability of navigation and design features, you should not use runtime mode as the primary means of securing a database application. On a computer that has the full version of Office Access 2007 installed, it might be possible for a user to open a runtime database application as a regular database application (that is, with all features available) and then to change the design or perform other unwanted actions.
Even if you deploy the database application only on computers that do not have the full version of Office Access 2007 installed, it is still possible for a user to transfer the application to a computer that does have the full version of Office Access 2007 installed, and then open the runtime database application as a regular database application.
If you want to distribute an Office Access 2007 application so that users cannot modify the design of forms, reports, or Microsoft Visual Basic for Applications (VBA) modules, consider using a compiled binary file (.accde). For more information about how to use a compiled binary file, see Deciding which file format to use.
Deciding which file format to use
There are four Office Access 2007 file formats that you can use when you deploy an application:
.accdb This is the default file format for Office Access 2007. When you deploy an application in this format, users have the most options to customize and navigate the application in whatever manner they choose. If you want to ensure that users do not change the design of your application, you should use the .accde file format. In addition, a user cannot easily determine whether an .accdb file has been changed after you packaged it. To make this obvious, use the .accdc file format.
.accdc This format is also known as an Access Deployment file. An Access Deployment file includes a program file and a digital signature that is associated with that file. This file format assures users that no one has changed the program file after you packaged it. You can apply this format to a default format Office Access 2007 file (.accdb), or to an Office Access 2007 compiled binary file (.accde). You can put only one program file in an Access Deployment file. If your application has separate data and logic files, you can package them separately. For more information about how to use an Access Deployment file, see Package and sign an Office Access 2007 database.
.accde This format is also known as a compiled binary file. In Office Access 2007, a compiled binary file is a database application file that has been saved with all of the VBA code compiled. No VBA source code remains in an Office Access 2007 compiled binary file. You can use Access 2007 Runtime to open an Office Access 2007 compiled binary file. However, by default, the Runtime does not recognize the .accde file name extension. To open a compiled binary file by using Access 2007 Runtime, create a shortcut that points to Access 2007 Runtime, and include the path of the compiled binary file that you want the shortcut to open.
If you create a compiled binary file by using Office Access 2007 with Service Pack 1 installed, users cannot open the compiled binary file by using the full version of Office Access 2007 without Service Pack 1 installed. To resolve this issue, users should install Service Pack 1.
.accdr This format enables you to deploy an application that opens in runtime mode. Deploying a runtime application can help you control the way that it is used, although it is not a means of securing an application.
Packaging an application
The simplest way to install an application is to provide the database application file to the application users. However, if you plan to deploy an application to a large audience, or to deploy an application more than once, you should consider using a software-packaging utility, such as the Access 2007 Developer Extensions Package Solution Wizard, to package your application into a Windows Installer Package (.msi file). You can then use the package to install the application.
You can use the Package Solution Wizard to:
Create a custom shortcut to the application. You can use this feature of the wizard to help make opening a compiled binary file easier for users who run your application by using Access 2007 Runtime.
Add the installation folder as a trusted location.
Automatically install Access 2007 Runtime on a user's computer, if it is not already installed.
Include other files, such as a custom Help file, with your application.
Create or modify registry keys.
Distribute the Microsoft Software License Terms.
Add information about your application to the list in Add or Remove Programs in Control Panel.
Package a split database
The Access 2007 Developer Extensions Package Solution Wizard does not accommodate multiple installation paths. If your application has separate data and logic components, and you use the Access 2007 Developer Extensions to package your application, you might want to manually install the Office Access 2007 data files in the appropriate location, such as a file server.
An application that has separate data and logic components uses linked tables to connect the two components. Because every network is different, it might be impractical to specify the installation path of both components. In most cases, if you use the Package Solution Wizard, you will use the wizard only to package the logic component.
If you have enough information about the installation paths of the two components, you might want to create two installation packages by using the Package Solution Wizard so that you can specify the installation path for each component.
Package and sign an Office Access 2007 database
Office Access 2007 makes it easier and faster to sign and distribute a database than in earlier versions of Access. After you create an .accdb file or .accde file, you can package the file, apply a digital signature to the package, and then distribute the signed package to other users. The Package-and-Sign feature puts the database in an Access Deployment (.accdc) file, signs the package, and then puts the code-signed package at a location on the user's computer that you determine. Users can then extract the database from the package and work directly in the database (not in the package file).
Although this feature is also known as "packaging," it does not accomplish the same tasks as the Package Solution Wizard of the Access 2007 Developer Extensions. The feature described in this section packages an Office Access 2007 file and applies a digital signature to the package that helps indicate to users that the file is trustworthy.
Remember the following as you proceed to create and sign a package:
Packaging a database and signing the package are ways to convey trust. When you or your users receive the package, the signature confirms that the database has not been tampered with. If you trust the author, you can enable the content.
The new Package-and-Sign feature applies only to databases saved in the Office Access 2007 file format. Office Access 2007 provides tools from earlier versions of Microsoft Office that you can use to sign and distribute databases that were created in an earlier file format. You cannot use the tools from earlier versions of Office to sign and deploy files that were created in the new Office Access 2007 file formats.
You can add only one database file to a package.
When you package and sign a database, all of the objects in the database file are code-signed, not just macros or code modules. The packaging and signing process also compresses the package file to help reduce download times.
You can extract databases from package files that are located on servers running Windows SharePoint Services 3.0.
To create a signed package, open the database that you want to package and sign.
To complete these steps, you must have at least one security certificate available. If you do not have a certificate installed on your computer, you can create one by using the SelfCert tool. For information about how to create a private security certificate, see Help secure an Access 2007 database.
Create a signed package
Click the Microsoft Office Button, click Publish, and then click Package and Sign.
In the Select Certificate dialog box, select a digital certificate, and then click OK. The Create Microsoft Office Access Signed Package dialog box appears.
In the Save in list, select a location for your signed database package.
Enter a name for the signed package in the File name box, and then click Create. Office Access 2007 creates the .accdc file and puts it in the location that you selected.