Many developers are responsible for designing applications that will be distributed to many users. The most basic distribution option is to require each user to purchase a copy of Access and then simply provide each user with a copy of the database (.MDB) files required for the application. The developer can then go to each user and configure the application appropriately.
Although distributing an application by copying it to each user's machine does not require much specialized knowledge on the part of the developer, it is generally not very practical. For one thing, it is often prohibitively expensive for each user of the application to own a copy of Access. Furthermore, in many situations the developer is distributing an application to users who are geographically dispersed throughout the country or even the world. Many Access applications are mass-marketed to hundreds or even thousands of users. It is very impractical to require such a user base to own Microsoft Access or properly install the application without a professional setup program. Finally, without the Access Developer's Toolkit, it is much more difficult for you as a developer to provide the user with the professional look and feel that you want your application to have. For these reasons, it is necessary for most developers to purchase the Access Developer's Toolkit and learn how to take advantage of what it offers.
The Microsoft Access Developer's Toolkit is a product that enables you to package and distribute professional-looking applications, without requiring your users to purchase the Access application software. Actually, the Access Developer's Toolkit, more commonly referred to as the ADT, is like several products in one. It includes the following tools:
Each of these components are discussed in the sections that follow.
The royalty-free runtime license provided with the ADT allows your users to take advantage of your application and all that it provides, without owning their own copy of Access. As you will see in the "Understanding the Differences between Full and Runtime Versions of Access" section of this chapter, your users cannot directly create new database objects with the Access runtime. Nor do they have access to the Database window, built-in toolbars, numerous menu items, and several other features that are part of the full Access product. In many situations, you won't want the user to have access to all of these features. Instead, you want to provide your users with a very complete, fully integrated application that only you will be responsible for modifying. Furthermore, you want to provide all of this to your users without requiring them to purchase Access. The ADT, with its royalty-free runtime license, enables you to do exactly that.
The Setup Wizard enables you to easily create distribution disks containing all of the files necessary to run your application. The Setup Wizard creates a highly professional-looking setup program that your users will run when they want to install your application. Using the Setup Wizard, you can customize what is included with your application. You can even provide your users with the familiar Standard, Compressed, and Custom options that they have come to know from installing other Microsoft products. The Setup Wizard is covered in detail in the "The Setup Wizard" section of this chapter.
The Replication Manager is a tool that enables you to manage Replication within your custom application. This highly powerful, very sophisticated tool contains a runtime that can be distributed with your applications. The Replication Manager is covered in detail in Chapter 23, "Replication Made Easy."
To many people's surprise, Access includes neither a Language Reference nor a Data Access Reference as "standard equipment." Although such documentation is available online, many developers prefer to view their documentation in print. Both the Access Language Reference and the Data Access Reference are included in hard copy with the ADT.
OLE controls provide your application with significant functionality with little work on your part. Only one OLE control ships with Access: the Calendar control. The ADT ships with 12 additional, extremely utilitarian custom controls. They include the Common Dialog control, Rich Text Box control, Status Bar control, and Data Outline control, just to mention a few. These controls all help you to build highly professional applications with minimal effort. OLE custom controls are covered in detail in Chapter 25, "Using OLE Controls."
The Win32 API Text Viewer facilitates the process of including the Declare statements, Type declarations, and Constant declarations required for you to utilize DLL functions in your applications. The ADT ships with Win32API.txt. This file, when loaded into the Win32 API Text Viewer, enables you to select Declare statements, Type declarations, and Constant declarations and copy them into your modules with the click of a mouse. This time-saving tool is discussed in detail in Chapter 28, "External Functions: The Windows API."
The Windows 95 Help Compiler, officially called the Microsoft Help Workshop, significantly eases the pain associated with the process of building custom Help into your applications. It assists with the process of creating the Help project, allowing you to easily specify all of the components of the project. The Windows 95 Help Compiler and Microsoft Help Workshop are covered in detail in Chapter 33, "Developing a Help File."
The Microsoft Access Developer Sample CD is a sampler CD containing information about the Microsoft Developer Network. It also includes numerous articles and white papers that can assist you with the completion of many complex tasks.
The Microsoft Graph Runtime Executable enables you to distribute this graphing engine with your application. This means that you can add graphing functionality to your applications without mandating that your users own some other product that includes Microsoft Graph.
Many developers distribute their applications to end-users who own and have already installed Microsoft Access. These users might be responsible for designing their own ad hoc queries and reports. For these users, it is important that you properly secure your application, ensure that you provide the users of your application with only the functionality that you want included in your application, and provide professional polish to your application.
Many of the topics in this chapter apply to your application whether you are distributing the application to users with the Access runtime or with the full copy of Access. For example, you probably should include a Switchboard, custom menu bars, and custom toolbars in your application, whether you are distributing your application with the runtime or for use under the full version of Access.
Many people have the misconception that using the Setup Wizard and distributing your application using the Access runtime somehow means that the application is compiled. This is not the case at all! In fact, if the database is not properly secured, anyone can install his or her own copy of Access and modify the application's data and other objects just as you can. Using the Setup Wizard and distributing your application with the Access runtime does not modify the database in any way. It simply gives you the license to freely distribute the engine required to run your application.
Actually, the engine is not even a modified version of the Access executable! The MSACCESS.EXE that you distribute is the same as the MSACCESS.EXE that you use to build your application. When you use the Setup Wizard to create installation disks for your users, the same MSACCESS.EXE that you use is copied to the installation disks. So how can there be any difference between the retail and runtime versions of Access?
When the user installs your application, the MSACCESS.EXE is copied to the user's machine. During this process, the installation program checks a Windows Re