Developing MAPI Form Servers

This section details the process of creating form server executable and form configuration files for creating custom MAPI forms. Before reading this section, you should familiarize yourself with the information in Forms.

Developing a form server includes:

  1. Deciding what information the form will carry and choosing a set of properties to hold that information. See Choosing a Form's Property Set.
  2. Designing a user interface to allow users to interact with the form's properties.
  3. Choosing a message class and generating a unique class identifier (CLSID). For an overview of message classes, see Message Classes. For more information about message classes and forms, see Choosing a Message Class and Creating a New Interpersonal (IPM) Message Class.
  4. Implementing the required MAPI form interfaces, as well as any optional interfaces that your particular form server needs. See Writing Form Server Code.
  5. Writing user interface code to handle the user's interaction with the form object and the properties the form uses.
  6. Creating a form configuration file for the form. See File Format of Form Configuration Files.
  7. Installing the form on users' computers. See Installing a Form Into a Library.

You will most likely perform steps 1–5 simultaneously rather than completing them in sequence. The process of developing a form server, like many programming projects, is not one in which there is a particularly well-defined starting point and ending point. For example, creating a form configuration file is listed as the last step in this process, but your form configuration file will probably be created incrementally and will become more complete as you add features to your form server.