MSOOBE process hangs indefinitely while deploying Windows Server 2012 R2 on a remotely administered system

Applies to: Windows Server 2012 R2 DatacenterWindows Server 2012 R2 EssentialsWindows Server 2012 R2 Foundation

Symptoms


When you perform an unattended deployment of Windows Server 2012 R2 on a remotely administered system that has no display adapter installed, the deployment does not finish correctly, and you may find that some functionality does not work. For example, you may be unable to connect to the system by using Remote Desktop Services (RDS). Additionally, if you connect to the server by using other management methods, such as a remote command prompt, you may notice that the msoobe.exe process is always running. This process ordinarily runs only during the deployment process.

Cause


This issue occurs because msoobe.exe tries to display some graphical animations on the screen during the deployment process. When there is no graphics adapter installed, these animations never complete, and therefore msoobe.exe hangs indefinitely. Because the system never finishes the deployment process, some other functionality such as RDS is never fully enabled.

Resolution


Microsoft is aware of this issue and is reviewing it for a potential fix in a future Windows release. If you are experiencing this problem, you may work around it by adding a registry key to the install.wim file for the image that you are deploying. To do this, follow these steps:
  1. From the Windows Deployment Service (WDS) MMC snap-in, export the install.wim file for the image to be used. Export it to a folder such as c:\bin.
  2. When the export is complete, open a command prompt with Administrator rights, and then create a folder named c:\bin\mount.
  3. Use dism.exe to query the WIM to make sure that there is only one index by using a command such as dism /get-wiminfo /wimfile:<pathto>exported.wim.
  4. Run Dism.exe /mount-wim /wimfile:c:\bin\export.wim /mountdir:c:\bin\mount /index:1 to mount this WIM.
  5. After the WIM is mounted, open Registry Editor from the administrative command prompt,
  6. Highlight (left click) HKEY_LOCAL_MACHINE, and then select Load Hive from the File menu.
  7. When you are prompted to specify which hive to load, select the c:\bin\mount\windows\system32\config\SOFTWARE file.
  8. Give it an identifiable name such as TEST_Soft.
  9. In Registry Editor, move to the "HKEY_LOCAL_MACHINE\TEST_Soft\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" registry subkey.
  10. In the LogonUI subkey, create a new REG_DWORD value called AnimationDisabled.
  11. Set the value of the newly created AnimationDisabled to 1.
  12. Highlight HKEY_LOCAL_MACHINE\TEST_Soft, and then select Unload Hive from the File menu.
  13. Close Registry Editor.
  14. From the administrative command prompt, use the Dism.exe /unload-wim /mountdir:c:\bin\mount /commit command to unload the WIM.
  15. After the WIM is unloaded, return to the WDS MMC snap-in, right-click the image that you will be replacing, and then select Disable.
  16. Right-click Install Images and select Add Install Image to point to the changed WIM.

Additionally, you should change your unattend.xml to remove the registry value after the deployment is completed. You can do so by adding the following under <settings pass="oobeSystem">:
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<CommandLine>reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI /v AnimationDisabled /f</CommandLine>
<Description>Reg_delete</Description>
<RequiresUserInput>false</RequiresUserInput>
</SynchronousCommand>