Windows is modular in design. The Windows Executive Services pass the control to Winlogon to display the Window Login Dialogue Box. Winlogon calls MSGINA.DLL to process the authentication for the user. MSGINA.DLL then passes the control to default Shell of Windows. There are two types of Shell: Windows Explorer Shell (Explorer.exe) and User Shell (Userinit.exe). Explorer Shell is responsible to display the Start Menu and User Shell is responsible to show the desktop. The user will see a blank screen window if both the shells are not executed by the MSGINA.DLL.
The MSGINA.DLL looks at the following registry location to identify the Explorer and User shell:
- Key Name: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
- Entry Name: Shell contains the value Explorer.exe
- Entry Name: Userinit contains the value %SystemRoot%\System32\Userinit.exe
If you see either the entries are missing or they do not contain the value as shown above then use the following steps to rectify this:
- Go to a Computer connected to the network.
- Start Menu > Run > Regedit.exe > Connect Network Registry > Specify the computer name.
- Navigate to the above location in registry of remote computer and then change the value as shown above.
- Restart problematic computer.