How to fix a Citrix Black Screen on logon

When users access their Citrix published desktop they are stuck in a black screen after the windows logon. This behavior can last between a few seconds up to even 60 seconds. There are numberous solutions on how to fix this annoying bug and of course not every solution works right out of the box. In this post I want to introduce you to hopefully all the possible fixes, and the one that helped in my case.


How to fix a Citrix Black Screen on Logon?

The symptom is always the same: A user starts his Citrix published desktop. The windows logon screen is visible and after the windows logon, but before the user can see the windows desktop, the screen will go black and nothing happens. The black screen occurs for several seconds, even up to minutes. Of course this is super annoying for every user and easily can result in a negative user feedback.

Searching the internet reveals that there are a lot of people with the same problem. The Citrix Forums are full of reports like this and it can happen on any version of Citrix XenApp or XenDesktop. There are even some posts in the Citrix Knowledge Database on that topic. The most common ones are the following:

DisableStatus Registry Entry:

Citrix recommends to change the “DisableStatus” registry entry to 00000001 (DWORD) at HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\Logon on the Citrix VDAs (see CTX135782)

Change the path for mfaphook64.dll in the registry:

On the Citrix VDAs delete the path for the mfaphoo64.dll under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows -> AppInit_DLLs. Sometimes the path for the dll file is in the old 8.3 format (C:\Progra~1\) which result in the mentioned behavior (see CTX135782)

Set the StartupDelayInMSec registry entry:

Under HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Explorer\Serialize (you maybe have to add the Serialize key on your own) create following DWORD entry:

StartupDelayInMSec

Value: 0

Set Microsoft policy “Set maximum wait time for the network if a user has a roaming user profile or remote home directory

Under “Computer Configuration – Policies – Administrative Templates – System – User Profiles” you should set the vaule for “Set maximum wait time for the network if a user has a roaming user profile or remote home directory” to 0.


The fix to my Citrix Black Screen Problem

I tried all the above fixes and spent several hours researching the topic. Nothing helped. Even worse, some of them worked for a day or two and then the black screen was back again. I finally found the solution after reading about users having the same problem on their desktop PC. Apparently a Microsoft Hotfix, applied on a HP desktop computer, can result in a black screen when logging in to up to 5 minutes. Since we used servers from HP I gave it a try and it worked, the black screen was gone instantly.

The solution was the following:

Disable the AppReadiness service in Windows. It has to be disabled, and not set to manual, because it starts automatically every time a user logs on. The service is responsible to speed up application starts. After disabling the service I couldn’t find any disadvantages regarding application starts. So it is now disabled on all our VDAs.

Fun Notice: There is a Citrix Knowledge Base article for this fix (CTX216590)  but somehow it never showed up when searching for that topic on google. Nowadays the CTX entry is even gone now….

 

Hope it helped!

Christian

Leave a Reply

Your email address will not be published. Required fields are marked *