You are currently offline, waiting for your internet to reconnect

XFOR: Err Msg: Initialization of Dynamic Link Library Failed

This article was previously published under Q158308
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
Starting more than seven combined instances of the PCMTA, MSMI, IMC,Schedule+ Free & Busy Connector, MTA, or Directory Synchronization fails ona system running Windows NT 4.0 (or Windows NT 4.0 SP1) and MicrosoftExchange Server 4.0. Seven instances is generally the limit for runningthese services concurrently; however, this may vary, depending on the orderin which the services are started. The eighth instance generates an errorand it fails to start. The error message is as follows:
Initialization of the dynamic link library D:\WINNT\system32\USER32.dll has failed. The process is terminating abnormally.
This is followed by a second error message:
Could not start the <%insert service name here%> on <%computername%>.
Error 2186: The service is not responding to the control function.
No event log errors are reported (with logging at maximum for MicrosoftExchange).
The system has run out of memory for creating a new desktop heap for theservice being started.
To fix this problem, edit the registry and restart the computer.

WARNING: Using Registry Editor incorrectly can cause serious problems thatmay require you to reinstall Windows NT. Microsoft cannot guarantee thatproblems resulting from the incorrect use of Registry Editor can be solved.Use Registry Editor at your own risk.
  1. Start Registry Editor (Regedt32.exe).
  2. Under the HKEY_LOCAL_MACHINE subtree, go to the following subkey:

    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=On SubSystemType=Windows   ServerDll=basesrv,1   ServerDll=winsrv:UserServerDllInitialization,3   ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off   MaxRequestThreads=16						
  3. 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						
  4. Quit Registry Editor and restart the computer.
This change will limit the size of desktop heaps created bynon-interactive services to 512K, which should be ample for most services.

For a fuller definition of what the first two parameters of SharedSectionmean, see Microsoft Knowledge Base article 126962, referenced below.
For additional information, please see the following articles in theMicrosoft Knowledge Base:
142676 Overcoming User32.dll Initialization Failures

126962 Increasing the Desktop Application Heap
4.00 PCMTA event id 7000

Article ID: 158308 - Last Review: 10/28/2006 16:54:21 - Revision: 3.4

  • Microsoft Exchange Server 4.0 Standard Edition
  • KB158308