More Outlook Resource Sites

Microsoft Developer Network (MSDN)

FAQs and other general resources

To distribute Microsoft Outlook forms to other users


Publishing a form stores a copy of the form definition in a specific library in Outlook so that you can use it to create new items. In Outlook 2003 and earlier versions, the command to publish a form is Tools | Forms | Publish Form. In Outlook 2007, click the Publish button on the Developer group on the ribbon.

Custom message forms generally are useful only within a Microsoft Exchange environment where they can be published to the Organizational Forms library. In a non-Exchange environment, there is no equivalent of the Organizational Forms Library, so a message form would need to be published to every individual user's Personal Forms library.

For more information on the publishing process, see:

Send a File

You can save the form as a Microsoft Outlook template file (.oft), and then e-mail that file to users. If the form contains code or custom fields, the recipient will not be able to simply open the .oft file and publish it. The recipient will need to save the .oft file to the local drive, run it with the Tools | Forms | Choose Form command, and then publish the form to the Personal Forms Library.

Alternatively, you can use an .fdm file to install a form manually, see OL2000: How to Move a Custom Form to Another Computer.

Bulk Installation

To programmatically install a form, you can use the FormDescription.PublishForm method, which is available from any Outlook item (except a sticky note), even one that you create by running an .oft file. Here is a generic VBScript procedure for generating a form from an .oft file and publishing it to the Personal Forms library. The display name is also used by Outlook to build the message class name:

See Automating the Installation of Outlook Forms for another code sample demonstrating this technique.


Outlook Form Installer

Installs a custom Outlook form into any number of folders.

Script Director

Tool for installing, managing and editing script agents throughout an organization. For Routing Objects, provides access to details on each item being routed, including the tracking status of each recipient. Also manages custom Outlook forms.

More Information