PRB: "Out of Memory Error" in the Win32 SDK Setup Sample

Last reviewed: May 25, 1995
Article ID: Q114610
The information in this article applies to:
  • Microsoft Win32 Software Development Kit (SDK), versions 3.1, 3.5, 3.51, and 4.0

SYMPTOMS

When a dialog box is shown using UIStartDlg() or a billboard is switched during the file copy operation, you may receive an "out of memory" error. The error will also occur in any setup program based on a modified version of the SDK sample.

CAUSE

The dialog box and billboard templates are stored as resources in MSCUISTF.DLL. This DLL (Dynamic Link Library) is not loaded at the beginning of the setup program but is rather loaded and unloaded [using LoadLibrary() and FreeLibrary()] around each call to UIStratDlg() and when billboards are switched. Hence, each time a dialog or billboard is displayed, floppy disk #1 has the potential of being accessed. If disks have been swapped due to the installation process such that disk #1 is no longer in the drive, you will receive an out of memory error when LoadLibrary() is called on MSCUISTF.DLL.

RESOLUTION

To solve the problem, call LoadLibrary() at the beginning of WinMain() and call FreeLibrary() and the end of WinMain(). This way the DLL is always in use and will never be unloaded until the setup is done.


Additional reference words: 3.10 3.50 4.00 95
KBCategory: kbtool kbprb
KBSubcategory: TlsMss


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: May 25, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.