Interactive COBOLEnvyr Corporation

Hot Fixes

User32.dll or Kernel32.dll Fails to Initialize
Microsoft Article Q184802

Windows Users - If you experience one or more of the following symptoms:

  1. the error message "Initialization of the dynamic library ...\system32\user32.dll failed" when starting a runtime, or
  2. an exit code 128 in the ICEXEC log when starting a runtime, or
  3. an exit code 128 In the ICNETD log when starting an icnets surrogate, or
  4. no more than 4-10 runtimes will run on serial lines or telnet sessions or icnet surrogates will logon, then

look at the article entitled "User32.dll or Kernel32.dll Fails to Initialize" (Article ID: Q184802) posted in the Microsoft Support Knowledge Base which gives information on updating the registry for a particular value for heap memory. This article describes updating the \System\CurrentControlSet\Control\Session Manager\SubSystems\Windows subkey under HKEY_LOCAL_MACHINE in the registry where there is normally a "SharedSection=1024,3072" in the data for this value which you must replace with "SharedSection=1024,3072,512" and reboot for the new value to take effect.

ICINFO displays the value for this registry entry as "NT Heap".

Explanation of Opportunistic Locking on Windows
Microsoft Article Q129202 and
Server Service Entries, PART 1
Microsoft Article Q102967

Windows Users - If you experience file corruption when using standard Microsoft networking (i.e., you open files using drive letters that have been mapped to shared drives/directories on another machine) then you need to make one of the following additions or modifications in the Windows registry.

On a server, add or change "EnableOpLocks" to have a DWORD value of "0" in the "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" key of the Windows registry. EnableOpLocks specifies whether the server allows clients to use oplocks (opportunistic locking) on files. Oplocks are a performance enhancement, but have the potential to cause lost cached data on some networks, particularly wide-area networks. The setup/installation of ICOBOL 2.44 and later automatically sets this value correctly.

On a client, opportunistic locking can be also disabled specifically for that machine. If you have made the above change to the server changing the client is not necessary. Otherwise, add or change "UseOpportunisticLocking" to have a DWORD value of "0" in the "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" key of the Windows registry. UseOpportunisticLocking specifies whether the workstation redirector should use opportunistic-locking (oplock) performance enhancement.

ICINFO displays both of these values.