|  The information in this article applies to:Microsoft Windows NT operating system, version 3.1
Microsoft Windows NT Advanced Server, version 3.1
 
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.
To enable a Windows NT machine with a corrupt .DLL file to complete the
logon process successfully, you must replace the .DLL with a new,
renamed version of the file:The machine should start up and complete the logon process.From a Windows NT machine that has an uncorrupted version of the
   .DLL file you want to replace, connect to the machine with the
   corrupt .DLL file as Administrator.
From the remote machine, place a new, uncorrupted copy the of the
   file in the SYSTEM32 directory on the machine with the damaged
   file (use a different filename for the copy of the file).
From the remote machine, run REGEDT32.EXE, to edit the registry on
   the affected machine.
Locate the following section:
   HKEY_LOCAL_MACHINE on (Remote Machine Name)
       SYSTEM\CurrentControlSet\Control\SessionManager\KnownDLLS.
In this section, change the name of the file pointed to by the key
   to the new, renamed version of the file that was copied to the
   SYSTEM32 directory. Close REGEDT32 and restart the machine with the
   previously corrupted file.
 
 MORE INFORMATION
For example, if the SHELL32.DLL file is corrupt, the following error
message is displayed after you enter your password and attempt to
complete the logon process:
 
    The application failed to initialize properly (0xc0000139).
   Click OK to terminate the application.
The application that has failed to start is Program Manager. At this
point, Windows NT is nonfunctional. Attempting to copy SHELL32.DLL
from a remote machine will not be effective since the file is marked
as in use by Windows NT. To replace the corrupt SHELL32.DLL do the
following: Connect to the affected machine's root with a functioning Windows NT
   machine as Administrator.
Copy a new SHELL32.DLL from the functioning machine to the affected
   machine's <SYSTEMROOT>\WINNT\SYSTEM32 using the filename
   SHELLALT.DLL.
Edit the affected machine's registry by running REGEDT32.EXE and
   scrolling to the following section:
       HKEY_LOCAL_MACHINE on (Remote Machine Name)
         SYSTEM\CurrentControlSet\Control\SessionManager\KnownDLLS.
   The SHELL32.DLL key will point to the file SHELL32.DLL. Change
   that key so that it points to the new file SHELLALT.DLL.
   Before Registry Edit:
   Existing Value Names       Data Type   String
   --------------------------------------------------------------------
   SHELL32.DLL                REG_SZ      SHELL32.DLL
   After Registry Edit:
   Existing Value Names       Data Type   String
   --------------------------------------------------------------------
   SHELL32.DLL                REG_SZ      SHELLALT.DLL
Close REGEDT32 on the remote machine and restart the affected
   machine. The machine should start and complete the logon process
   with the new SHELLALT.DLL.
 |