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:
- 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.
The machine should start up and complete the logon process.
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.
|