OL2000: How the Forms Cache Works

ID: Q232303


The information in this article applies to:
  • Microsoft Outlook 2000


SUMMARY

This article summarizes how the Microsoft Outlook forms cache works and discusses limitations of the forms cache design that you may encounter when creating an Outlook forms solution. The following topics are covered:

Purpose of the Forms Cache
How Outlook Locates Forms
Where the Form Cache is Located
How the Forms Cache Works
Cache Doesn't Support Duplicate Form Names
Can't Change the Forms Cache Location or Contents


MORE INFORMATION

Purpose of the Forms Cache

To increase performance when opening forms, Outlook stores a copy of the form in a cache so it does not have to retrieve the form every time an item is opened. When forms are stored in a Microsoft Exchange public folder or in the Organizational Forms Library, using a cached version of the form increases performance considerably on both the local computer and the server.

How Outlook Locates Forms

Before discussing the forms cache, it is helpful to understand how Outlook locates the necessary form when an item is opened. When you first create an item that uses a custom form, the Message Class field of the item is set to the name of the form. For example, if you have a custom task form called "Corporate" in a public folder, the message class will be IPM.Task.Corporate.

When the item is opened from the folder, Outlook checks the message class to see what form should be used to display the item. It then conducts a search for the required form, looking in the following locations:

  1. Forms Cache: Outlook first checks the forms cache on your computer to see if you have used the form before. If the form is located in the cache, Outlook will load the form from your hard disk drive.


  2. Current Folder: If the form is not in the cache, Outlook will look in the current folder for the form. Other folders, including parent folders, will not be searched. Forms that are published to a folder are stored as hidden items and cannot be seen in any of the Outlook views.


  3. Personal Forms Library: If the form is not found in a folder, Outlook checks the Personal Forms Library. The Personal Forms Library is stored in the top-level folder of the default mail store. The default mail store is the set of folders that contains the Inbox that receives incoming mail.


  4. The Organizational Forms Library: If the form is not available in the Personal Forms Library, Outlook then will check the Organizational Forms Library on the Microsoft Exchange Server.


  5. The Web Forms Library: If someone created an HTML-based form, published it to a Web server, and you have enabled Web Services in Outlook, Outlook will check to see if an HTML version of the form is available and then open the form in your Web browser.


If a form cannot be found in any of the locations listed, the item is displayed using the standard form for that type of item (standard mail message for a custom mail message, standard contact form for a custom contact form, and such).

When Outlook checks for an updated form, the last modified time of the form in the cache is compared to the last modified time of the form in the original location. If the original location contains an updated form, Outlook will download the updated version and update the forms cache.

Where the Form Cache is Located

Unlike previous versions of Outlook, the forms cache is no longer located in the C:\Windows\Forms folder. The new locations in Outlook 2000 support roaming users. If Windows is not configured for multiple user profiles, the forms cache is located in the following folder:

C:\Windows\Local Settings\Application Data\Microsoft\Forms 
If Windows is configured for multiple user profiles, the forms cache is located in the following folder:

C:\Windows\Profiles\<username>\LocalSettings\Application Data\Microsoft\Forms 

How the Forms Cache Works

The forms cache contains a Frmcache.dat file. This file contains summary information and pointers to both the default Outlook forms and any custom forms you have used. Cached copies of custom forms are stored in subfolders of the Forms folder.

The subfolders of the Forms folder are randomly named, but typically resemble the name of the form. The actual forms stored within these folders are cryptically named, but have a .tmp file name extension. If you are unsure about which folder contains a copy of a particular form, the time stamp of the folder or .tmp file may help indicate which form is which.

Outlook sets a 2048 KB limit on the total size of the forms cache by default. To change this setting, follow these steps:
  1. On the Tools menu, click Options.


  2. Click the Other tab, and click Advanced Options.


  3. Click Custom Forms, and under Maximum space on hard disk, enter a number greater than 2048, and then click OK.


Once the maximum disk space for the forms cache is reached, the oldest unused forms are purged from the cache.

Cache Doesn't Support Duplicate Form Names

If you publish more than one form with the same name to multiple locations, the forms cache will not update correctly if you try to use the form from both locations. This limitation was documented in the Outlook 97 forms Help file (Olform.hlp) but was inadvertently omitted from the Outlook 98 and Outlook 2000 versions of this file. The Outlook 97 Help file states:
About the form name and message class

(first three paragraphs of topic omitted)

Before publishing a form, you should change the form name and message class of the form to avoid problems with your forms cache. When you save a form on your local computer, a copy of the form is placed in the forms cache. If the form you publish has the exact name and message class as the form in your personal forms cache, when you open the form, you will get the version that is on your computer, not the one you published. When you publish the form for the final time to a public folder or Organization Forms Library, change the name or an attribute of the form, such as the version number.
NOTE: Changing the version number or other property of the form does not affect the form cache behavior, as this paragraph implies. When Outlook checks to see if a new version of the form has been published, only the last modified time is used to determine which version is most current.

There are generally two scenarios where publishing the same form name to more than one location causes a problem.
  • On the Developer Computer: As a forms developer, you should ensure that you don't publish the same form to multiple locations. If you do, you may find that Outlook is using an earleir version of the form than you might expect. This typically happens when you publish the form to a folder and then also publish to your Personal Forms Library or the Organizational Forms Library.


  • On the User's Computer: As a developer, you may wish to use the same form and publish it to multiple public folders so that different groups of users can use it. Ideally, each time the form is published to a folder it should be given a different form name or message class. However, as long as a single user does not try to access the same form from more than one location, you can safely publish multiple form names. Microsoft does not recommend this approach.


Can't Change the Forms Cache Location or Contents

Outlook 2000 was designed to support roaming users and therefore the forms cache location can change depending on which user is currently logged on to a computer. There are no user-configurable settings to indicate where the forms cache is located. Therefore, it is not possible to directly change the location of the forms cache to a location other than the default location.

The format of the Frmcache.dat is undocumented and therefore direct modification of the file is unsupported. Microsoft cannot support direct modifications to any of the contents of the Forms folder unless such changes are documented by Microsoft, or recommended by Microsoft Product Support Services for troubleshooting purposes only. Before making any modifications to the contents of the Forms folder, you should first make a backup.

NOTE: The size of the form cache is stored in the Frmcache.dat file and therefore there is no programmatic way to change the size of the form cache.


REFERENCES

For additional information about available resources and answers to commonly asked questions about Microsoft Outlook 2000 solutions, please see the following article in the Microsoft Knowledge Base:

Q146636 OL2000: Questions About Custom Forms and Outlook Solutions

Additional query words: OutSol OutSol2000 OL2K

Keywords :
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbinfo


Last Reviewed: December 23, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.