Home | Contact Us | Submit Troubleshooting Info | Search | Help


    Output | Software Solutions | Proofing | Color, Screening and Calibration | Scanning | Digital Photography | Consumables | POS


Overcoming User32.dll Initialization Failure Errors


Applies to

Microsoft Windows NT Workstation version 4.0

Microsoft Windows NT Server version 4.0


Problem

When you try to start a service a pop-up dialog box appears with the following message:

<ServiceName> - DLL initialization failure Initialization of the dynamic link library c:\windows\system32\user32.dll failed. The process is terminating abnormally.


Causes

The system has run out of memory to create a new desktop heap for the service being started.

Solutions

Fixing this problem requires editing of the Registry and restarting the computer concerned.

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

1.Run the Registry Editor(Regedt32.exe).

2.Under the HKEY_LOCAL_MACHINE subtree, go to the following subkey:

\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows

The default data for this value will look something like the following (all on one line):

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows

SharedSection=1024,3072 Windows=OnSubSystemType=Windows

ServerDll=basesrv,1ServerDll=winsrv:UserServerDllInitialization,3

ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off

MaxRequestThreads=16

You will need to make the following change to this value:

Scan along the line until you reach the part that defines the SharedSection values and add ",512" after the second number. This value should now look something like the following:

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows

SharedSection=1024,3072,512 Windows=On SubSystemType=Windows

ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3

ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off

MaxRequestThreads=16

After making this change, close Regedt32 and restart the server.

This change will limit the size of desktop heaps created by noninteractive services to 512 KB, which should be ample for most services.

Copyright Microsoft Corporation 1998.

Contact Michael Van den Putte (Creo Europe)
Submitted by Michael Van den Putte (Creo Europe)
Date February 15, 1999


    Copyright © 2005 Creo Inc. All rights reserved. Confidential. Back to top.