This page has been archived and is no longer  being actively maintained.
Outlook Developer Home
Outlook Programmer's Library
 
Outlook Technologies
Outlook Forms
Languages
Samples
Other Technologies

 

How the Outlook forms cache works

When you open an item that requires a custom form, Outlook stores a copy of the form on your local hard disk. The next time you need to use the form, Outlook checks this forms cache. If the form is in the cache, Outlook goes to the form's original location to check the form's Modified timestamp. If a user has modified the form since Outlook cached it, Outlook opens the form from its original location and updates the cache with the modified version. If no one has modified the form since Outlook cached it, Outlook loads the form from the cache, which is usually much faster than opening it from the original location.

If the required form isn't in the cache, Outlook looks in other locations, in this order:

  • Current folder's forms library 
  • Personal Forms library 
  • Organization Forms library 
  • Web Forms library (for Corporate/Workgroup mode only, with Outlook Web Access running on the Exchange Server, if you've enabled it by clicking Web Services in Tools | Options | Other | Advanced Options | Custom Forms)

Error Messages | Clearing the Forms Cache | Notes | More Information

Error Messages

The error messages The form required to view this message cannot be displayed and Can't create item often signal corruption related to a custom form—either in the form itself or in the data file on the client that stores forms cache information. Outlook uses the Frmcache.dat file to maintain a summary of cached forms and pointers to the cached files. 

Outlook 2002 SP1 adds a ForceFormReload registry entry that can make force Outlook to reload a form from the original published version when Outlook can't load the form from the cache. A similar fix is available in Outlook 2000 SP3. See:

Back to Top

Clearing the Forms Cache

To clear the forms cache, exit Outlook, and delete the Frmcache.dat file. The Frmcache.dat file resides in the Forms folder. In Outlook 97 and Outlook 98, the forms cache folder is the \Windows\Forms folder. In Outlook 2000 without Windows user profiles, the forms cache folder is in C:\Windows\Local Settings\Application Data\Microsoft\Forms. In Outlook 2000 with user profiles, look in C:\Windows\Profiles\%username%\LocalSettings\Application Data\Microsoft\Forms.

If you have installed Office 2000 Service Release 1/1a, Outlook 2000 in Corporate/Workgroup mode should have a button to clear the forms cache on the Manage Forms dialog (Tools | Options | Other | Advanced Options | Custom Forms, then click Manage Forms). So does Outlook 2002.

When you restart Outlook, it will create a new Frmcache.dat file with information about the cached forms. If that technique doesn't resolve the problem, try deleting not just the Frmcache.dat file but also the folders for the individual forms. (However, Microsoft warns not to delete the \Forms\Configs folder that appears on Outlook 97 and 98 installations.) In Outlook 98, you'll also need to run Outlook setup and, through the Add New Components function, reinstall support for the Corporate/Workgroup mail component. 

Also see:

Back to Top

Notes

The forms' retrieval order explains a common problem with forms. Suppose a user publishes a new form in the Personal Forms library. Later, the user makes changes to the form and saves the revised form under the same name but in a different library—Organization Forms. When the user opens an item that uses the custom form for the first time, Outlook loads the version in the Personal Forms Library because Outlook checks that location first, but that version won't include the revisions on the version the user saved in the Organization Forms Library.

The stumbling block is the copy in the Personal Forms library. The solution is to delete that copy by using the Manage Forms dialog (Tools | Options | Other | Advanced Options | Custom Forms, then click Manage Forms). After you delete that copy, the Organization Forms copy usually loads fine. If it doesn't, make sure that you're incrementing the version number on the form's (Properties) page. You can also try using the form to create a new item. When opening a previously created item doesn't load the updated form into the cache, creating a new item sometimes does the job.

Back to Top

More Information

   
© 2002-6 TurtleFlock, LLC
All right reserved.
About OutlookCode.com

Send comments to webmaster@outlookcode.com

Designed and Implemented by TerraLink USA 

FrontPage Integration
by RobsonDesignWorks

 
 
get Sue's code | forums | share your own code | registration