PRB: "Out of Memory Error" in the Win32 SDK Setup Sample (114610)
The information in this article applies to:
- Microsoft Win32 Software Development Kit (SDK) 3.1
- Microsoft Win32 Software Development Kit (SDK) 3.5
- Microsoft Win32 Software Development Kit (SDK) 3.51
- Microsoft Win32 Software Development Kit (SDK) 4.0
This article was previously published under Q114610 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.
Modification Type: | Major | Last Reviewed: | 3/10/2000 |
---|
Keywords: | kbprb KB114610 |
---|
|