BUG: Error Initializing the WinInet Cache

Last reviewed: January 22, 1998
Article ID: Q160060
The information in this article applies to:
  • Microsoft ActiveX SDK, version 1.0

SYMPTOMS

When you start an application that uses WinInet functionality (such as Internet Explorer 3.0), the following message might appear:

   Error initializing the cache. Shutdown all programs and run ScanDisk or
   ChkDsk. Delete the cache, cookies and history directories in your
   Windows directory and then restart Internet Explorer. If the problem
   persists reinstall Internet Explorer.

CAUSE

This is a problem with the WinInet cache that occurs whenever WinInet is first loaded in the context of a service, such as an ISAPI filter, and then by a user process, such as a browser like Internet Explorer 3.0.

If this problem occurs consistently on a machine that uses Internet Information Server (IIS), this problem could be caused by the use of the WinInet API within an IIS filter DLL. This includes Front Page server extensions that operate as IIS filter DLLs.

Generally, if the WinInet DLL is first loaded by a service, the WinInet cache is initialized in such a way that it cannot be accessed by user-mode programs. IIS filter DLLs are a common cause of this problem because they are loaded in a special Internet user account by IIS.

WORKAROUND

The cache does not work properly in this situation for any user-mode programs, but other WinInet functions are be impaired. To workaround this problem, either don't use any IIS filter DLL that uses WinInet, or make sure a user-mode WinInet application is running before you start the IIS service.

For example, you could manually start the IIS service after running Internet Explorer 3.0. This causes the WinInet cache to initialize in the user-mode context of Internet Explorer 3.0, thus preventing any filter DLL using WinInet from locking out other user-mode programs from the cache.

STATUS

This problem has been fixed in the latest version of the WinInet DLL, which can be obtained by installing the Internet Explorer 3.02 File Upload Add-On for Windows 95 and NT. It is available at http://www.microsoft.com/msdownload/ieplatform/iewin95/iewin95.asp.

Internet Explorer 3.02 must be installed before applying this Add-On.

The problem has also been fixed in Internet Explorer 4.0.

MORE INFORMATION

The implementation of WinInet uses a memory mapped file (MMF) to share the cache. If IIS, which is a service, has already created the MMF, then non- service applications cannot access the MMF.

REFERENCES

For additional information, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q106387
   TITLE     : Sharing Objects with a Service

Keywords          : AXSDKWinInet iisApi iisFilter iisGeneral kbnetwork
Technology        : kbInetDev
Version           : 1.0
Platform          : WINDOWS


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: January 22, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.