Microsoft Remote Desktop Session Host failed Citrix

We're in the process of upgrading a ton of servers from XenApp 7.15 CU3 to CU5. About ~10% of these are failing. Every failure so far has been in the same spot pictured - installing RDS services.

If I run the VDA Cleanup Utility and start from scratch, the install fails for CU5, as well as any other VDA version, but with a different error code 0x8000ffff, which I believe is a 'catastrophic' code.At this point I'm also unable to manually add the RDS server role or do it via Powershell for these servers.

Any suggestions on what might help besides re-imaging the servers? These have a bunch of arbitrary clients applications and are all configured differently, so hoping to not have to rebuild all of them.

Failed VDA Installation - This error appears after an in-place upgrade of the Windows Server OS and then a re-install of the VDA 7.15 LTSR from Citrix

Recently trying to install VDA on a server 2016 server and it comes up with the below error trying to install Remote Desktop Session Host

Error Id: XDMI:334CF235

Exception:
Citrix.MetaInstaller.MetaInstallerException ‘dism’ component failed to install with error 0x800f080c.
at Citrix.MetaInstaller.Prerequisite.RdsComponents.Install(InstallationContext context)

at Citrix.MetaInstaller.InstallationManager.InstallComponent(InstallableComponent component, InstallationContext installContext)

Looking in the logs it’s failing when running this :

dism /quiet /norestart /english /online /enable-feature /featurename:Remote-Desktop-Services /featurename:ServerMediaFoundation /featurename:AppServer /featurename:InkAndHandwritingServices /featurename:DesktopExperience

When I run this manually I get  : 

Feature name DesktopExperience is unknown. 
Feature name InkAndHandwritingServices is unknown.

This is actually already bundled in 2016 , you will need to install VDA 7.11 ( the minimum version that supports Server 2016 ) 

Tags: "dism' component failed to install, 0x800f080c, Citrix, Desktop Experience, dism, server 2016, vda

Trackback from your site.

💡 = Recently Updated

Change Log

Hardware

Hypervisor Host Hardware

  • Citrix Blog Post Citrix Scalability — The Rule of 5 and 10: Simply take the number of physical cores in a hypervisor host, multiply it by 5 or 10, and the result will be your Single Server Scalability. Use 5 if you’re looking for the number of XenDesktop VMs you can host on a box, and use 10 if you’re looking for the number of XenApp user sessions you can host on a box.

Virtual Machine Hardware

  1. Operating system version support: VDA 7.17 supports Windows 10 (1607 and newer), Windows Server 2012 R2 (RDSH only), and Windows Server 2016 (RDSH or Server VDI).
    1. For older operating systems (e.g Windows 7 or Windows Server 2008 R2), install VDA 7.15 with the latest Cumulative Update. VDA 7.15 will work with newer Delivery Controllers (e.g. Delivery Controller 7.17).
  2. CTX224843 Windows 10 compatibility with Citrix XenDesktop
  3. Firewall – VDA 7.17 enables the UDP-based EDT protocol by default. Make sure the UDP ports are open for ICA/HDX:
    1. UDP 1494
    2. UDP 2598
    3. UDP 443 – from Internet to NetScaler Gateway.
    4. UDP 443 can also be used by internal ICA connections if VDA SSL is configured.
    5. For EDT through NetScaler Gateway, make sure your NetScaler firmware is up to date, preferably 11.1 build 56 or newer.
  4. VDA virtual machine sizing:
  5. If using RAM caching (MCSIO or PvS), add more RAM for the cache
  6. Remove the floppy drive
  7. Remove any serial or LPT ports
  8. If vSphere:
    1. To reduce disk space, reserve memory. Memory reservations reduce or eliminate the virtual machine .vswp file.
    2. The NIC should be VMXNET3.
  9. If this VDA will boot from Provisioning Services:
    1. For vSphere, the NIC must be VMXNET3.
      Microsoft Remote Desktop Session Host failed Citrix
    2. For vSphere, configure the CD-ROM to boot from IDE instead of SATA. SATA comes with VM hardware version 10. SATA won’t work with PvS.
      Microsoft Remote Desktop Session Host failed Citrix
  10. Install the latest version of hypervisor drivers (e.g. VMware Tools).
  11. The vSphere Activity Monitoring Feature with NSX Guest Introspection feature uses a TDI driver (vnetflt.sys), which might cause a “Connection Interrupted” message when users log off of Citrix. See CTX221206 “Connection Interrupted” error message displayed while logging off ICA session.

If vSphere, disable NIC Hotplug

  1. Users could use the systray icon to Eject the Ethernet Controller. Obviously this is bad.
    Microsoft Remote Desktop Session Host failed Citrix
  2. To disable this functionality, power off the virtual machine.
    Microsoft Remote Desktop Session Host failed Citrix
  3. Once powered off, right-click the virtual machine, and click Edit Settings.
    Microsoft Remote Desktop Session Host failed Citrix
  4. On the VM Options tab, expand Advanced, and then click Edit Configuration.
    Microsoft Remote Desktop Session Host failed Citrix
  5. On the bottom left, enter devices.hotplug. On the right, enter false. Then click Add.
    Microsoft Remote Desktop Session Host failed Citrix
  6. Then click OK a couple times to close the windows.
  7. The VM can then be powered on.
    Microsoft Remote Desktop Session Host failed Citrix

Windows Preparation

  1. Computer Group Policy – Make sure the Master VM is in the same OU as the Linked Clones so the Master VM will get the computer-level GPO settings in its registry. Run gpupdate on the master after moving the VM to the correct OU. When Clones are created from the Master, the computer-level GPO settings will already be applied, thus eliminating a timing issue.
    Microsoft Remote Desktop Session Host failed Citrix
  2. If Server OS, disable IE Enhanced Security Configuration in Server Manager > Local Server.
    Microsoft Remote Desktop Session Host failed Citrix
  3. Optionally, go to Action Center (Windows 2012 R2) or Control Panel > Security and Maintenance (Windows 10/2016) to disable User Account Control, and enable SmartScreen.
    Microsoft Remote Desktop Session Host failed Citrix
    1. In Windows 10 1703 and newer, search the Settings app for Change User Account Control settings.
      Microsoft Remote Desktop Session Host failed Citrix
    2. SmartScreen is configured in Windows Defender Security Center > App & browser control.
      Microsoft Remote Desktop Session Host failed Citrix
  4. Run Windows Update. Do not skip this step. Many VDA installation problems are fixed by simply updating Windows.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
    1. Defer Feature Updates – For Windows 10, since Citrix VDA does not immediately support new Windows 10 versions, configure Windows Update to defer feature updates.
      Microsoft Remote Desktop Session Host failed Citrix

      Microsoft Remote Desktop Session Host failed Citrix

      Microsoft Remote Desktop Session Host failed Citrix
  5. Add your Citrix Administrators group to the local Administrators group on the VDA. Computer Management.
    Microsoft Remote Desktop Session Host failed Citrix
  6. The Remote Desktop Services “Prompt for Password” policy prevents Single Sign-on to the Virtual Delivery Agent. Check registry key HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services. If fPromptForPassword = 1 then you need to fix group policy. The following GPO setting will prevent Single Sign-on from working.

    Computer Configuration | Policies | Administrative Templates | Windows Components | Remote Desktop Services | Remote Desktop Session Host | Security | Always prompt for password upon connection

    Or set the registry value HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\PorticaAutoLogon (DWORD) = 0x10.

  7. To remove the built-in apps in Windows 10, see Robin Hobo How to remove built-in apps in Windows 10 Enterprise.
  8. For Remote Assistance in Citrix Director, configure the GPO setting Computer Configuration | Policies | Administrative Templates | System | Remote Assistance | Offer Remote Assistance. See Jason Samuel – How to setup Citrix Director Shadowing with Remote Assistance using Group Policy for more details.
    Microsoft Remote Desktop Session Host failed Citrix
  9. If you intend to use Citrix’s SCOM Management Packs for XenApp/XenDesktop, make sure WinRM is enabled on the VDA by running winrm quickconfig. Or you can enable WinRM using Group Policy.
    Microsoft Remote Desktop Session Host failed Citrix

Install Virtual Delivery Agent 7.17

  1. For virtual desktops, make sure you are logged into the console. The VDA won’t install if you are connected using RDP.
  2. Make sure .NET Framework 4.5.2 or newer is installed.

CLI Install:

Command Line Install Options are detailed at Install using the command line at Citrix Docs.

The Citrix Telemetry Service seems to cause problems. You can use the Command Line Installer to exclude Telemetry Service as detailed at VDA upgrade cmdlet at Citrix Discussions.

XenDesktopVDASetup.exe /quiet /noreboot /masterimage /Enable_HDX_PORTS /enable_framehawk_port /Enable_REAL_TIME_TRANSPORT /optimize /controllers "xdc01.corp.local xdc02.corp.local" /Exclude "Citrix Telemetry Service"

Citrix Blog Post Citrix VDA Commandline Helper Tool: a GUI to configure the VDA installation options.

Microsoft Remote Desktop Session Host failed Citrix

GUI Install:

  1. Mount the downloaded XenDesktop 7.17 ISO, and and run AutoSelect.exe.
    Microsoft Remote Desktop Session Host failed Citrix
    1. Alternatively, you can download the standalone VDA package and run that instead. Go the main XenDesktop 7.17 download page. Expand the section labelled Components that are on the product ISO but also packaged separately. There is a VDA installer called Desktop OS Core Services that is designed for Remote PC deployments.
      Microsoft Remote Desktop Session Host failed Citrix
  2. Click Start next to either XenApp or XenDesktop. The only difference is the product name displayed in the installation wizard.
    Microsoft Remote Desktop Session Host failed Citrix
  3. On the top right, click Virtual Delivery Agent for Windows Desktop OS, or Windows Server OS, depending on which type of VDA you are building.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  4. In the Environment page, select Create a Master Image, and click Next.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  5. In the Core Components page, if you don’t need Citrix Receiver installed on your VDA, then uncheck the box. Receiver is usually only needed for double-hop connections (connect to first VDA, and then from there, connect to second VDA). Click Next.
    Microsoft Remote Desktop Session Host failed Citrix
  6. In the Additional Components page, uncheck Citrix AppDisk/Personal vDisk. This feature has been deprecated and is being replaced by Citrix App Layering (Unidesk). If you are installing VDA on Windows 10 1709 or newer, then it is critical that you uncheck this. Click Next.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  7. In the Delivery Controller page, select Do it manually. Enter the FQDN of each Controller. Click Test connection. And then make sure you click Add. Click Next when done.
    Microsoft Remote Desktop Session Host failed Citrix
  8. In the Features page, check boxes. Only the top box is checked by default. If you want to use the other features, check the boxes. If this is a virtual desktop, you can leave Personal vDisk unchecked now and enable it later. Then click Next.
    Microsoft Remote Desktop Session Host failed Citrix
  9. In the Firewall page, click Next.
    Microsoft Remote Desktop Session Host failed Citrix
  10. In the Summary page, click Install.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  11. If RDSH, click Close when you are prompted to restart.
    Microsoft Remote Desktop Session Host failed Citrix
  12. After the machine reboots twice, login and installation should continue.
  13. If you see a Locate ‘XenDesktop’ installation media window, click Cancel.
    Microsoft Remote Desktop Session Host failed Citrix
    1. Mount the XenApp_and_XenDesktop_7_17.iso.
      Microsoft Remote Desktop Session Host failed Citrix
    2. Run AutoSelect.exe.
      Microsoft Remote Desktop Session Host failed Citrix
    3. Click the Virtual Desktop Agent box to resume installation.
      Microsoft Remote Desktop Session Host failed Citrix
  14. Installation will continue automatically.
    Microsoft Remote Desktop Session Host failed Citrix
  15. Note: NT SERVICE\CitrixTelemetryService needs permission to login as a service.
  16. In the Smart Tools page, click Connect, enter your MyCitrix.com credentials, and then click Next.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  17. In the Finish page, click Finish to restart the machine again.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  18. According to CTX225819 When Launching an Application Published from Windows Server 2016, a Black Screen Appears for Several Seconds Before Application is Visible, HKLM\SOFTWARE\Citrix\Citrix Virtual Desktop Agent\DisableLogonUISuppression (DWORD) should be set to 0.
  19. If you upgraded an existing VDA, then run gpupdate /force. Source = CTX233580 Citrix policy settings configured using Administrative Template Policy Settings deleted from Virtual Delivery Agent (VDA) after upgrade to latest version of VDA  💡
    Microsoft Remote Desktop Session Host failed Citrix

Citrix Desktop Helper Service

Citrix Blog Post Augment Your XenDesktop Deployment with the Desktop Helper Service: this installable service adds the following functionality to your VDAs:

  • The “Shutdown Inactive Desktops” feature allows Citrix administrators to enable a timer that shuts down a virtual desktop after it has been registered for a configured amount of minutes without a user connection.
  • Delaying the Citrix Desktop Service start by a configurable amount of time allows the desktop to finish performing on-boot tasks before a user is brokered to it.
  • The “Force Group Policy Update” feature give administrators the ability to force a group policy update after a configured amount of time.

If these features are desirable, download the tool from the blog post and install it.

Microsoft Remote Desktop Session Host failed Citrix

Configurable Registry keys are located at HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\DesktopHelper. Each value is detailed in the accompanying Word document.

Microsoft Remote Desktop Session Host failed Citrix

Customer Experience Improvement Program (CEIP)

Customer Experience Improvement Program (CEIP) is enabled by default. To disable it, create the registry value HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Telemetry\CEIP\Enabled (DWORD), and set it to 0 (zero). Also see CEIP at Citrix Insight Services at Citrix Docs.

Microsoft Remote Desktop Session Host failed Citrix

See https://www.carlstalhood.com/delivery-controller-7-17-and-licensing/#ceip for additional places where CEIP is enabled.

Connection Quality Indicator

The Connection Quality Indicator tells the user the quality of the connection. For example:

Microsoft Remote Desktop Session Host failed Citrix

Position of the indicator is configurable by the user. Thresholds are configurable through group policy.

Microsoft Remote Desktop Session Host failed Citrix

Download it from CTX220774 Connection Quality Indicator and install it. The article is very detailed.

Microsoft Remote Desktop Session Host failed Citrix

Group Policy templates are located at C:\Program Files (x86)\Citrix\Connection Quality Indicator\Configuration. Copy the files and folder to <Sysvol>\Policies\PolicyDefinitions, or C:\Windows\PolicyDefinitions.

Microsoft Remote Desktop Session Host failed Citrix

Microsoft Remote Desktop Session Host failed Citrix

Find the settings under Computer Config | Policies | Administrative Templates | Citrix Components | Virtual Desktop Agent | CQI

Microsoft Remote Desktop Session Host failed Citrix

Version 1.2 adds the GPO settings to the user half of a GPO.

Microsoft Remote Desktop Session Host failed Citrix

Notification display settings lets you customize the user notifications, or disable them.

Microsoft Remote Desktop Session Host failed Citrix

Connection Threshold Settings lets you set the notification thresholds.

Microsoft Remote Desktop Session Host failed Citrix

Adaptive Transport

XenApp/XenDesktop 7.17 includes Adaptive Transport, which uses EDT protocol, which uses UDP Ports 1494/2598 for HDX connections to the VDA. The UDP ports should already be open in the Windows Firewall.

Microsoft Remote Desktop Session Host failed Citrix

For EDT through NetScaler Gateway, make sure your NetScaler firmware is up to date, preferably 11.1 build 56 or newer.

In 7.17, Adaptive Transport defaults to Preferred, which means it’s enabled by default. It can be configured in the Citrix Policy setting HDX Adaptive Transport.

Microsoft Remote Desktop Session Host failed Citrix

Slow Logons

If logging in to a VDA from Citrix ICA, RDP, and Console results in a permanent black screen, then you might have to disable the App Readiness service. Source = CTX216590 Logon Delay and Black screen on logon for up to 10 seconds after upgrading from XA 7.5 to XA 7.6.  💡 

Microsoft Remote Desktop Session Host failed Citrix

Citrix Discussions Xenapp 7.9: Wait for local session manager: “I have a Xenapp 7.9 environment on Windows 2012 R2. When logging in through Citrix I got message “Wait for local session manager” for 20-30 seconds. When logging in to the server with RDS, I do not have to wait for this.”

“Add the following 2 registry keys to your 7.9 VDA server – then try connecting to it using ICA to see if the issue still occurs:

Add reg keys in “HKLM\SOFTWARE\Citrix\GroupPolicy”
Dword: “CacheGpoExpireInHours” – Value = 5-24 (# of Hours) ***start with value of 5***
Dword: “GpoCacheEnabled” – Value = 1

Restart the machine after adding these registry keys and attempt an ICA connection (at least twice) to see if that helps the Login delay.”

Mark DePalma at XenApp slow logon times, user get black screen for 20 seconds at Citrix Discussions says that pushing Tile Refresh to a background task speeds up logons.

  1. Regedit: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\DisableUPMResetCache] @="DisableUPMResetCache" "Version"="1,1,1,1" "StubPath"="REG ADD HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\ImmersiveShell\\StateStore /v ResetCache /t REG_DWORD /d 0 /f" "Locale"="*"
  2. UPM Exclusions: Directory - '!ctx_localappdata!\Microsoft\Windows\Caches' Registry - 'SOFTWARE\Microsoft\Active Setup\Installed Components\DisableUPMResetCache'

Marvin Neys at XenApp slow logon times, user get black screen for 20 seconds at Citrix Discussions says that deleting HKCU\Software\Microsoft\Windows\CurrentVersion\UFH\SHC at logoff reduces logon times from 40 seconds to 6 seconds.

Remove-Item HKCU:\Software\Microsoft\Windows\CurrentVersion\UFH\SHC

For additional logon delay troubleshooting, see Alexander Ollischer XenApp/XenDesktop – “Please Wait For Local Session Manager” message when logging into RDS. He found some Windows Updates that caused a logon delay.

Microsoft Remote Desktop Session Host failed Citrix

XenApp recalculates WMI filters on every reconnect. CTX212610 Session Reconnect 30 sec Delay – DisableGPCalculation – WMI Filters indicates that recalculation can be disabled by setting HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Reconnect\DisableGPCalculation (DWORD) to 1.

CTX212439 Desktop Session Stuck in Pre-Logon State with Message “Please wait for the Local Session Manager”:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters\MaxTokenSize (DWORD) = 48000
  • Delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod\L$RTMTIMEBOMB

Controller Registration Port

Some environments will not accept the default port 80 for Virtual Delivery Agent registration, even though registration is authenticated and encrypted on port 80. To change the port, do the following on the Virtual Delivery Agent:

  1. Open Programs and Features. If Windows 10 1703 or newer, open Apps and Features.
    Microsoft Remote Desktop Session Host failed Citrix
    Microsoft Remote Desktop Session Host failed Citrix
  2. Find Citrix Virtual Delivery Agent, and click Change or Modify (Windows 10 1703 and newer).
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  3. Click Customize Virtual Delivery Agent Settings.
    Microsoft Remote Desktop Session Host failed Citrix
  4. Edit the Delivery Controllers, and click Next.
    Microsoft Remote Desktop Session Host failed Citrix
  5. On the Protocol and Port page, change the port number, and click Next.
    Microsoft Remote Desktop Session Host failed Citrix
  6. In the Summary page, click Reconfigure.
    Microsoft Remote Desktop Session Host failed Citrix
  7. If you see a Smart Tools page, make a selection for Call Home, and click Next.
  8. In the Finish Reconfiguration page, click Finish.
  9. Restart the VDA machine.
  10. You must also change the VDA registration port on the Delivery Controllers by running BrokerService.exe /VDAPort.
  11. For Local Host Cache, on the Delivery Controller, run C:\Program Files\Citrix\Broker\Service\HighAvailabilityService.exe –VdaPort <CORRECT PORT #>. Source = CTX229493 VDAs Do Not Register in LHC Mode When Registration Port is Not Set To Default.

Verify that VDA registered with a Controller

Citrix PDF Printer  for Receiver for HTML5/Chrome

  1. VDA 7.17 installs the PDF Printer automatically so there’s no need for a separate installation.
  2. To enable the PDF printer for HTML5 connections, configure the Citrix Policy setting called Auto-create PDF Universal Printer in the user half of a Citrix Policy GPO.
    Microsoft Remote Desktop Session Host failed Citrix

Citrix File Access 2.0.3 for Receiver for Chrome

  1. If you support Receiver for Chrome (Chromebook) and want published applicatons to open files on Google Drive, install Citrix File Access on the VDAs. Get it from the Receiver for Chrome download page, in the Additional Components section.
    Microsoft Remote Desktop Session Host failed Citrix
  2. Go to the extracted Citrix_File_Access_2.0.3, and run FileAccess.msi.
    Microsoft Remote Desktop Session Host failed Citrix
  3. In the Please read the File Access License Agreement page, check the box next to I accept the terms, and click Install.
    Microsoft Remote Desktop Session Host failed Citrix
  4. In the Completed the File Access Setup Wizard page, click Finish.
    Microsoft Remote Desktop Session Host failed Citrix
  5. File Access is listed in Programs and Features (or Apps & Features) as version 2.0.3.33.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  6. File Access has a default list of supported file extensions. The list can be expanded by editing the registry on the VDA. See CTX219983 Receiver for Chrome Error: Invalid command line arguments: Unable to open the file as it has an unsupported extension.
    Microsoft Remote Desktop Session Host failed Citrix
  7. To open a file from Google Drive, right-click and and open the file using Citrix Receiver.

Framehawk Configuration

To enable Framehawk, see https://www.carlstalhood.com/citrix-policy-settings/#framehawkconfig

Remote Desktop Licensing Configuration

On 2012 R2 and newer RDSH, the only way to configure Remote Desktop Licensing is using group policy (local or domain). This procedure is not needed on virtual desktops.

  1. For local group policy, run gpedit.msc. Alternatively, you can configure this in a domain GPO.
    Microsoft Remote Desktop Session Host failed Citrix
  2. Go to Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing.
    Microsoft Remote Desktop Session Host failed Citrix
  3. Double-click Use the specified Remote Desktop license servers. Change it to Enabled, and enter the names of the RDS Licensing Servers (typically installed on XenDesktop Delivery Controllers). Click OK.
    Microsoft Remote Desktop Session Host failed Citrix
  4. Double-click Set the Remote Desktop licensing mode. Change it to Enabled and select Per User. Click OK.
    Microsoft Remote Desktop Session Host failed Citrix
  5. Optionally, you can install the Remote Desktop Licensing Diagnoser Tool. In the Server Manager > Add Roles and Features Wizard, on the Features page, expand Remote Server Administration Tools, expand Role Administration Tools, expand Remote Desktop Services Tools, and select Remote Desktop Licensing Diagnoser Tool. Then Finish the wizard.
    Microsoft Remote Desktop Session Host failed Citrix
  6. If it won’t install from Server Manager, you can install it from PowerShell by running Install-WindowsFeature rsat-rds-licensing-diagnosis-ui.
    Microsoft Remote Desktop Session Host failed Citrix
  7. In Server Manager, open the Tools menu, expand Remote Desktop Services (or Terminal Services), and click Remote Desktop Licensing Diagnoser.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  8. The Diagnoser should find the license server, and indicate the licensing mode. If you’re configured for Per User licenses, then it’s OK if there are no licenses installed on the Remote Desktop License Server.
    Microsoft Remote Desktop Session Host failed Citrix

Several people in Citrix Discussions reported the following issue: If you see a message about RD Licensing Grace Period has expired even though RD Licensing is properly configured, see Eric Verdumen No remote Desktop Licence Server availible on RD Session Host server 2012. The solution was to delete the REG_BINARY in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod only leaving the default. You must take ownership and give admin users full control to be able to delete this value.

C: Drive Permissions

This section is more important for shared VDAs like RDSH (Windows Server 2012 R2, and Windows Server 2016).

The default permissions allow users to store files on the C: drive in places other than their profile.

  1. Open the Properties dialog box for C:.
    Microsoft Remote Desktop Session Host failed Citrix
  2. On the Security tab, click Advanced.
    Microsoft Remote Desktop Session Host failed Citrix
  3. If UAC is enabled, click Change permissions.
    Microsoft Remote Desktop Session Host failed Citrix
  4. Highlight the line containing Users and Create Folders, and click Remove.
    Microsoft Remote Desktop Session Host failed Citrix
  5. Highlight the line containing Users and Create files (or Special), and click Remove. Click OK.
    Microsoft Remote Desktop Session Host failed Citrix
  6. Click Yes to confirm the permissions change.
    Microsoft Remote Desktop Session Host failed Citrix
  7. If you see any of these Error Applying Security windows, click Continue. This window should appear multiple times.
    Microsoft Remote Desktop Session Host failed Citrix
  8. Click OK to close the C: drive properties.

Pagefile

If this image will be converted to a Provisioning Services vDisk, then you must ensure the pagefile is smaller than the cache disk. For example, if you allocate 20 GB of RAM to your Remote Desktop Session Host, and if the cache disk is only 15 GB, then Windows will have a default pagefile size of 20 GB, and Provisioning Services will be unable to move it to the cache disk. This causes Provisioning Services to cache to server instead of caching to your local cache disk (or RAM).

  1. Open System. In 2012 R2 and newer, you can right-click the Start button, and click System. Note: in Windows 10 1703 and newer, this method no longer opens the correct tool.
    Microsoft Remote Desktop Session Host failed Citrix
  2. Another option is to open File Explorer, right-click This PC, and click Properties. This works in Windows 10 1703.
    Microsoft Remote Desktop Session Host failed Citrix
  3. Click Advanced system settings.
    Microsoft Remote Desktop Session Host failed Citrix
  4. On the Advanced tab, click the top Settings button.
    Microsoft Remote Desktop Session Host failed Citrix
  5. On the Advanced tab, click Change.
    Microsoft Remote Desktop Session Host failed Citrix
  6. Uncheck the box next to Automatically manage paging file size for all drives. Then either turn off the pagefile, or set the pagefile to be smaller than the cache disk. Don’t leave it set to System managed size. Click OK several times.
    Microsoft Remote Desktop Session Host failed Citrix

Direct Access Users

When Citrix Virtual Delivery Agent is installed on a machine, non-administrators can no longer RDP to the machine. A new local group called Direct Access Users is created on each Virtual Delivery Agent. Add your non-administrator RDP users to this local group so they can RDP directly to the machine.

Microsoft Remote Desktop Session Host failed Citrix

Microsoft Remote Desktop Session Host failed Citrix

From CTX228128 What is the HKLM\Software\Citrix\PortICA\DirectAccessUsers registry function: The HKLM\Software\Citrix\PortICA\DirectAccessUsers registry key determines which Local group the VDA references to determine if a user should be allowed Unbrokered RDP access. Members of the Local Administrators group will always be granted access. If the Registry Key does not exist, or gets deleted, VDA will always allow the Unbrokered RDP Connection. The Registry key and local group are created as part of the VDA installation process.

Windows Profiles v3/v4/v5/v6

Roaming Profiles are compatible only between the following client and server operating system pairs. The profile version is also listed.

  • v6 = Windows 10 (1607 and 1703) and Windows Server 2016
  • v5 = Windows 10 (1511 and older)
  • v4 = Windows 8.1 and Windows Server 2012 R2
  • v3 = Windows 8 and Windows Server 2012
  • v2 = Windows 7 and Windows Server 2008 R2
  • v2 = Windows Vista and Windows Server 2008

For Windows 2012 R2, install Microsoft hotfix 2890783, and set the UseProfilePathExtensionVersion registry value to 1.

CTX230343 Reset Profile Options Is Greyed Out In Citrix Director states that the UseProfilePathExtensionVersion registry value is required on Windows 2012 R2 to enable Director users to reset profiles.

Registry

Black Screen when launch Published Apps on Windows Server 2016

From CTX225819 When Launching an Application Published from Windows Server 2016, a Black Screen Appears for Several Seconds Before Application is Visible: Citrix and Microsoft have worked together together to deliver code fixes for both Windows Server 2016 and XenApp. Microsoft is targeting their KB4034661 patch for the third week of August 2017. This fix requires a registry edit to enable.

  • Key = HKLM\SOFTWARE\Citrix\Citrix Virtual Desktop Agent
    • Value = DisableLogonUISuppression (DWORD) = 0

Published Explorer

From Citrix CTX128009 Explorer.exe Fails to Launch: When publishing the seamless explorer.exe application, the session initially begins to connect as expected. After the loading, the dialog box disappears, and the Explorer application fails to appear. On the VDA, use the following registry change to set the length of time a client session waits before disconnecting the session:

  • Key = HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
    • Value = LogoffCheckerStartupDelayInSeconds (DWORD) = 10 (Hexadecimal)

Screen Saver

From Citrix CTX205214 Screensaver Not Working in XenDesktop: By default, Screen Saver doesn’t work on Desktop OS. To enable it, on the VDA, configure the following registry value:

  • Key = HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Graphics
    • Value = SetDisplayRequiredMode (DWORD) = 0

Smart Cards

From CTX231942 Windows 10 April 2018 Update (v1803) – Citrix Known Issues – Smart Card Service (SCardSvr) will run only if a Smart Card reader is connected. As ICA sessions redirect the Smart Card, it finds the service not to be running and fails.

  • Key = HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Cryptography\Calais
    • Value = AllowServiceAccessWithNoReaders (DWORD) = 1

Logon Disclaimer Window Size

From XenApp 7.8 – Session Launch Security/Warning Login Banner at Citrix Discussions: If your logon disclaimer window has scroll bars, set the following registry values:

  • Key = HKEY_LOCAL_MACHINE\Software\Wow6432node\Citrix\CtxHook\AppInit_DLLS\Multiple Monitor Hook
    • Value = LogonUIWidth (DWORD) = 300
    • Value = LogonUIHeight (DWORD) = 200

From Citrix CTX203760 VDI Session Launches Then Disappears: XenDesktop, by default, only allows 180 seconds to complete a logon operation. The timeout can be increased by setting the following:

  • Key = HKLM\SOFTWARE\Citrix\PortICA
    • Value = AutoLogonTimeout ( DWORD) = decimal 240 or higher (up to 3599).

Also see Citrix Discussions Machines in “Registered” State, but VM closes after “Welcome” screen.

From Citrix CTX138404 Application Connection Starts but Disappears after Timeout: after loading the application, the dialog box disappears and the application fails to appear.

  •  Key = HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
    • Value =ApplicationLaunchWaitTimeoutMS (DWORD) = decimal 60000

HDX Flash

From Citrix Knowledgebase article CTX139939 – Microsoft Internet Explorer 11 – Citrix Known Issues: The registry key value IEBrowserMaximumMajorVersion is queried by the HDX Flash service to check for maximum Internet Explorer version that HDX Flash supports. For Flash Redirection to work with Internet Explorer 11 set the registry key value IEBrowserMaximumMajorVersion to 11 on the machine where HDX flash service is running. In case of XenDesktop it would be the machine where VDA is installed.

  • Key = HKLM\SOFTWARE\Wow6432Node\Citrix\HdxMediaStreamForFlash\Server\PseudoServer
    • Value = IEBrowserMaximumMajorVersion (DWORD) = 11 (Decimal)

From Citrix Discussions: Add the DWORD FlashPlayerVersionComparisonMask=0 on the VDA under HKLM\Software\Wow6432Node\Citrix\HdxMediaStreamForFlash\Server\PseudoServer.  This disables the Flash major version checking between the VDA and Client Device.

Receiver for HTML5/Chrome Enhanced Clipboard

From About Citrix Receiver for Chrome 1.9 at Citrix Docs: To enable enhanced clipboard support, create a REG_SZ registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\Virtual Clipboard\Additional Formats\HTML Format\Name=”HTML Format”. Create any missing registry keys. This applies to both virtual desktops and Remote Desktop Session Hosts.

Microsoft Remote Desktop Session Host failed Citrix

Receiver for HTML5/Chrome Upload Folder

The Receiver for HTML5 (or Chrome) lets upload files.

Microsoft Remote Desktop Session Host failed Citrix

By default, the user is prompted to select a upload location. If you use the Upload feature multiple times, the last selected folder is not remembered.

Microsoft Remote Desktop Session Host failed Citrix

Citrix CTX217351 How to Customize File Upload and Download Using Receiver for HTML5 and Receiver for Chrome. You can specify a default uploads location by editing HKLM\Software\Citrix\FileTransfer\UploadFolderLocation on the VDA. Environment variables are supported. When this value is configured, users are no longer prompted to select an upload location. The change takes effect at next logon.

Microsoft Remote Desktop Session Host failed Citrix

Note: HTML5/Chrome Receiver also adds a Save to My Device location to facilitate downloads.

Microsoft Remote Desktop Session Host failed Citrix

4K Monitors

From Citrix Knowledgebase article CTX218217 Unable to span across multiple monitors after upgrade to 7.11 VDA, Black/Blank screen appears on the monitors while connecting to ICA session: .

  1. For VDA 7.11 and newer, calculate the video memory that is required for monitors using the following formula:

    SumOfAllMons (Width * Height) * 4 / 0.3, where width and height are resolution of the monitor. Note: There is no hard and fast rule that will work for all cases.

    Example: Consider the resolution of monitor 1 is 1920*1200 and monitor 2 is 1366*768. Then SumOfAllMons will be (1920*1200 + 1366*768)

  2. CTX115637 Citrix Session Graphics Memory Reference describes how multi-monitor resolution is determined.
  3. Open the registry (regedit) and navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vbdenum
  4. Increase the value of “MaxVideoMemoryBytes” REG_DWORD value to the above calculated memory.
  5. Reboot the VDA.

Citrix Policies also control graphics performance.

COM Port Threads

CTX212090 COM Port Intermittently Inaccessible During ICA Sessions: increase the default value of “MaxThreads” under the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\picaser\Parameters from 20 to a value greater than the number of COM port connections you want to support. For example, if a XenApp server supports 100 sessions and each session opens two COM ports, the value of “MaxThreads” should be greater than 200.

Microsoft Remote Desktop Session Host failed Citrix

NVIDIA GRID License

Allow NVIDIA GRID License to apply after the session is started. (Source = Jan Hendrik Meier NVIDIA GRID license not applied before the user connects – License Restriction will not be removed until the user reconnects)  💡

  • Key = HKLM\SOFTWARE\NVIDIA Corporation\Global\GridLicensing
    • Value = IgnoreSP (DWORD) = 1

Legacy Client Drive Mapping

Citrix CTX127968 How to Enable Legacy Client Drive Mapping Format on XenApp: Citrix Client Drive Mapping no longer uses drive letters and instead they appear as local disks. This is similar to RDP drive mapping.

Microsoft Remote Desktop Session Host failed Citrix

The old drive letter method can be enabled by setting the registry value:

  • Key = HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\UncLinks (create the key)
    • Value = UNCEnabled (DWORD) = 0
      Microsoft Remote Desktop Session Host failed Citrix

When you reconnect, the client drives will be mapped as drive letters (starts with V: and goes backwards).

Microsoft Remote Desktop Session Host failed Citrix

From CTX139020 Configuring Virtual Machines for Mac Client Printer Mapping with Windows 8.x. By default, Non-Windows clients cannot map printers due to a missing print driver on the VDA machine.

  1. Requirements:
    • Internet Access
    • Windows Update service enabled
  2. Click Start, and run Devices and Printers.
    Microsoft Remote Desktop Session Host failed Citrix
    1. In Windows 10 1703, open Printers & scanners, then scroll down, and click Devices and printers.
      Microsoft Remote Desktop Session Host failed Citrix

      Microsoft Remote Desktop Session Host failed Citrix
  3. In the Printers section, highlight a local printer (e.g. Microsoft XPS Document Writer). Then in the toolbar, click Print server properties.
    Microsoft Remote Desktop Session Host failed Citrix

    Microsoft Remote Desktop Session Host failed Citrix
  4. Switch to the Drivers tab. Click Change Driver Settings.
    Microsoft Remote Desktop Session Host failed Citrix
  5. Then click Add.
    Microsoft Remote Desktop Session Host failed Citrix
  6. In the Welcome to the Add Printer Driver Wizard page, click Next.
    Microsoft Remote Desktop Session Host failed Citrix
  7. In the Processor Selection page, click Next.
    Microsoft Remote Desktop Session Host failed Citrix
  8. In the Printer Driver Selection page, click Windows Update. The driver we need won’t be in the list until you click this button. Internet access is required.
    Microsoft Remote Desktop Session Host failed Citrix
  9. Once Windows Update is complete, highlight HP on the left, and then select HP Color LaserJet 2800 Series PS (Microsoft) on the right. Click Next.
    Microsoft Remote Desktop Session Host failed Citrix
  10. In the Completing the Add Printer Driver Wizard page, click Finish.
    Microsoft Remote Desktop Session Host failed Citrix
  11. Repeat these instructions to install the following additional drivers:
    • HP LaserJet Series II
    • HP Color LaserJet 4500 PCL 5

SSL for VDA

If you intend to use HTML5 Receiver internally, install certificates on the VDAs so the WebSockets (and ICA) connection will be encrypted. Internal HTML5 Receivers will not accept clear text WebSockets. External users don’t have this problem since they are SSL-proxied through NetScaler Gateway.

Notes:

  • Each Virtual Delivery Agent needs a machine certificate that matches the machine name. This is feasible for a small number of persistent VDAs. For non-persistent VDAs, you’ll need some automatic means for creating machine certificates every time they reboot.
  • As detailed in the following procedure, use PowerShell on the Controller to enable SSL for the Delivery Group. This forces SSL for every VDA in the Delivery Group, which means every VDA in the Delivery Group must have SSL certificates installed.

The following instructions for manually enabling SSL on VDA can be found at Configure TLS on a VDA using the PowerShell script at Citrix Docs.

  1. On the VDA machine, run certlm.msc.
  2. Right-click Personal, expand All Tasks, and click Request New Certificate to request a certificate from your internal Certificate Authority. You can use either the Computer template or the Web Server template.
    Microsoft Remote Desktop Session Host failed Citrix
    1. You can also use group policy to enable Certificate Auto-Enrollment for the VDA computers.
      Microsoft Remote Desktop Session Host failed Citrix
  3. Browse to the XenApp/XenDesktop 7.17 ISO. In the Support\Tools\SslSupport folder, shift+right-click the Enable-VdaSSL.ps1 script, and click Copy as path.
    Microsoft Remote Desktop Session Host failed Citrix
  4. Run PowerShell as administrator (elevated).
    Microsoft Remote Desktop Session Host failed Citrix
  5. Run the command Set-ExecutionPolicy unrestricted. Enter Y to approve.
    Microsoft Remote Desktop Session Host failed Citrix
  6. In the PowerShell prompt, type in an ampersand (&), and a space.
  7. Right-click the PowerShell prompt to paste in the path copied earlier.
  8. At the end of the path, type in -Enable
  9. If there’s only one certificate on this machine, press Enter.
    Microsoft Remote Desktop Session Host failed Citrix
  10. If there are multiple certificates, then you’ll need to specify the thumbprint of the certificate you want to use. Open the Certificates snap-in, open the properties of the machine certificate you want to use, and copy the Thumbprint from the Details tab.
    Microsoft Remote Desktop Session Host failed Citrix

    In the PowerShell prompt, at the end of the command, enter ‑CertificateThumbPrint, add a space, and type quotes (").

    Right-click the PowerShell prompt to paste the thumbprint.

    Type quotes (") at the end of the thumbprint. Then remove all spaces from the thumbprint. The thumbprint needs to be wrapped in quotes.

    Microsoft Remote Desktop Session Host failed Citrix

  11. There are additional switches to specify minimum SSL Version and Cipher Suites. Also see Citrix CTX226049 Disabling Triple DES on the VDA breaks the VDA SSL connection.
    Microsoft Remote Desktop Session Host failed Citrix
  12. Press <Enter> to run the Enable-VdaSSL.ps1 script.
  13. Press <Y> twice to configure the ACLs and Firewall.
  14. You might have to reboot before the settings take effect.
    Microsoft Remote Desktop Session Host failed Citrix
  15. Login to a Controller, and run PowerShell as Administrator (elevated).
  16. Run the command asnp Citrix.*
    Microsoft Remote Desktop Session Host failed Citrix
  17. Enter the command: Get-BrokerAccessPolicyRule -DesktopGroupName '<delivery-group-name>' | Set-BrokerAccessPolicyRule ‑HdxSslEnabled $true

    where <delivery-group-name> is the name of the Delivery Group containing the VDAs.

    Microsoft Remote Desktop Session Host failed Citrix

  18. You can run Get-BrokerAccessPolicyRule -DesktopGroupName '<delivery-group-name>' to verify that HDX SSL is enabled.
    Microsoft Remote Desktop Session Host failed Citrix
  19. Also run the following command to enable DNS resolution. Set-BrokerSite –DnsResolutionEnabled $true

    Microsoft Remote Desktop Session Host failed Citrix

  20. Since VDA 7.17 defaults to enabling the UDP-based EDT protocol, open port UDP 443 to the VDAs.

You should now be able to connect to the VDA using the HTML5 Receiver from internal machines.

The Citrix blog post How To Secure ICA Connections in XenApp and XenDesktop 7.6 using SSL has a method for automatically provisioning certificates for pooled virtual desktops by enabling certificate auto-enrollment and setting up a task that runs after the certificate has been enrolled.

  • From Russ Hargrove at A note on VDA certificates in 7.14 at Citrix Discussions: Citrix installs a new “Citrix XenApp/XenDesktop HDX Service” certificate in the Personal store which breaks the automation of the Enable-VdaSSL.ps1 script. To fix the problem, modify the task scheduler powershell script to: Enable-VdaSSL.ps1 -Enable -CertificateThumbPrint (Get-ChildItem -path cert:\LocalMachine\My | Where-Object -FilterScript {$_.Subject -eq ""} | Select-Object -ExpandProperty Thumbprint) -Confirm:$False
  • For certificate auto-enrollment on non-persistent Remote Desktop Session Hosts (aka Server OS VDAs), see Non-Persistent Server SSL to VDA by Alfredo Magallon Arbizu at CUGC.

Anonymous Accounts

If you intend to publish apps anonymously then follow this section.

  1. Anonymous accounts are created locally on the VDAs. When XenDesktop creates Anon accounts, it gives them an idle time as specified at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\AnonymousUserIdleTime. The default is 10 minutes. Adjust as desired.
    Microsoft Remote Desktop Session Host failed Citrix
  2. Pre-create the Anon accounts on the VDA by running "C:\Program Files\Citrix\ICAConfigTool\CreateAnonymousUsersApp.exe". If you don’t run this tool, then anonymous users can’t login.
    Microsoft Remote Desktop Session Host failed Citrix
  3. You can see the local Anon accounts by opening Computer Management, expanding System Tools, expanding Local Users and Groups and clicking Users.
    Microsoft Remote Desktop Session Host failed Citrix
  4. If you want profiles for anonymous users to delete at logoff, then you’ll need to add the local Anon users to the local Guests group.
    Microsoft Remote Desktop Session Host failed Citrix
  5. If you open one of the accounts, on the Sessions tab, notice that idle timeout defaults to 10 minutes. Feel free to change it.
    Microsoft Remote Desktop Session Host failed Citrix

Group Policy for Anonymous Users

Since Anonymous users are local accounts on each Virtual Delivery Agent, domain-based GPOs will not apply. To work around this limitation, you’ll need to edit the local group policy on each Virtual Delivery Agent.

  1. On the Virtual Delivery Agent, run mmc.exe.
  2. Open the File menu, and click Add/Remove Snap-in.
    Microsoft Remote Desktop Session Host failed Citrix
  3. Highlight Group Policy Object Editor, and click Add to move it to the right.
    Microsoft Remote Desktop Session Host failed Citrix
  4. In the Welcome to the Group Policy Wizard page, click Browse.
    Microsoft Remote Desktop Session Host failed Citrix
  5. On the Users tab, select Non-Administrators.
    Microsoft Remote Desktop Session Host failed Citrix
  6. Click Finish.
    Microsoft Remote Desktop Session Host failed Citrix
  7. Now you can configure group policy to lockdown sessions for anonymous users. Since this is a local group policy, you’ll need to repeat the group policy configuration on every Virtual Delivery Agent image. Also, Group Policy Preferences is not available in local group policy.

Antivirus

Install antivirus using your normal procedure. Instructions vary for each Antivirus product.

Microsoft’s virus scanning recommendations (e.g. exclude group policy files) – http://support.microsoft.com/kb/822158.

Citrix’s Recommended Antivirus Exclusions

Citrix Blog Post Citrix Recommended Antivirus Exclusions: the goal here is to provide you with a consolidated list of recommended antivirus exclusions for your Citrix virtualization environment focused on the key processes, folders, and files that we have seen cause issues in the field:

  • Set real-time scanning to scan local drives only and not network drives
  • Disable scan on boot
  • Remove any unnecessary antivirus related entries from the Run key
  • Exclude the pagefile(s) from being scanned
  • Exclude Windows event logs from being scanned
  • Exclude IIS log files from being scanned

See the Blog Post for exclusions for each Citrix component/product including: StoreFront, VDA, Controller, and Provisioning Services. The Blog Post also has links to additional KB articles on antivirus.

Symantec

Symantec links:

Trend Micro

Trend Micro Slow login on Citrix environment after installing OfficeScan (OSCE): The following registries can be used to troubleshoot the issue. These registries will allow a delay on the startup procedure of OSCE until the system has launched successfully. This avoids deadlock situations during login.

Citrix CTX136680 – Slow Server Performance After Trend Micro Installation. Citrix session hosts experience slow response and performance more noticeable while users try to log in to the servers. At some point the performance of the servers is affected, resulting in issues with users logging on and requiring the server to be restarted. This issue is more noticeable on mid to large session host infrastructures.

Trend Micro has provided a registry fix for this type of issue. Create the following registry on all the affected servers. Add new DWORD Value as:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TmFilterParameters] “DisableCtProcCheck”=dword:00000001

Trend Micro Links:

Sophos

Best Practice for running Sophos on virtual systems: we’ve amassed the following practical information about how you can optimize our software to work with this technology.

Sophos Anti-Virus for Windows XP+: Installation and configuration considerations for Sophos Anti-Virus on a Remote Desktop Services server: It maybe desirable to disable the Sophos AutoUpdate shield icon

Sophos Anti-Virus for Windows 2000+: incorporating current versions in a disk image, including for use with cloned virtual machines: This procedure will make sure that the produced target/cloned computers:

  • Get their distinct identity with Enterprise Console, under which they can be subsequently managed.
  • Have the desired version of Sophos Anti-Virus already installed and configured on the created image.

Windows Defender Antivirus

Deployment guide for Windows Defender Antivirus in a virtual desktop infrastructure (VDI) environment

Microsoft Remote Desktop Session Host failed Citrix

Optimize Performance

VDA Optimizer

Installation of the VDA might have already done this, but there’s no harm in doing it again. This tool is only available if you installed VDA in Master Image mode.

  1. On the master VDA, go to C:\Program Files\Citrix\PvsVm\TargetOSOptimizer, and run TargetOSOptimizer.exe.
    Microsoft Remote Desktop Session Host failed Citrix
  2. Then click OK. Notice that it disables Windows Update.
    Microsoft Remote Desktop Session Host failed Citrix
  3. See CTX125874 How to Optimize XenDesktop Machines for the list of registry values changed by the TargetOSOptimizer tool. You can use Group Policy Preferences to set these values.

Windows 10 / Windows 2012 R2 / Windows 2016 and newer

Optimization Notes:

Seal and Shut Down

If this VDA will be a master image in a Machine Creation Services or Provisioning Services catalog, after the master is fully prepared (including applications), do the following:

  1. Go to the properties of the C: drive, and run Disk Cleanup.
    Microsoft Remote Desktop Session Host failed Citrix
  2. If Disk Cleanup is missing, you can run cleanmgr.exe instead.
    Microsoft Remote Desktop Session Host failed Citrix
  3. Windows 10 1703 and newer has a new method for cleaning up temporary files.
    1. Right-click the Start button, and click System.
    2. Click Storage on the left, and click This PC (C:) on the right.
      Microsoft Remote Desktop Session Host failed Citrix
    3. Click Temporary Files.
      Microsoft Remote Desktop Session Host failed Citrix
    4. Check boxes, and click Remove files.
      Microsoft Remote Desktop Session Host failed Citrix
  4. On the Tools tab, click Optimize to defrag the drive.
    Microsoft Remote Desktop Session Host failed Citrix
    `
  5. Run slmgr.vbs /dlv and make sure it is licensed with KMS and has at least one rearm remaining. It is not necessary to manually rearm licensing since MCS will do it automatically.
    Microsoft Remote Desktop Session Host failed Citrix
  6. Run Delprof2 to clean up local profiles. Get it from http://helgeklein.com/download/.
    Microsoft Remote Desktop Session Host failed Citrix
  7. Machine Creation Services and Provisioning Services require DHCP.
    Microsoft Remote Desktop Session Host failed Citrix
  8. Session hosts (RDSH) commonly have DHCP reservations.
    Microsoft Remote Desktop Session Host failed Citrix
  9. Base Image Script Framework (BIS-F) automates many sealing tasks. The script is configurable using Group Policy.
    Microsoft Remote Desktop Session Host failed Citrix
    Microsoft Remote Desktop Session Host failed Citrix
  10. Shut down the master image. You can now use Studio (Machine Creation Services) or Provisioning Services to create a catalog of linked clones.
    Microsoft Remote Desktop Session Host failed Citrix

Troubleshooting – Graphics

For Citrix Policies that control graphics codecs, see https://www.carlstalhood.com/citrix-policy-settings/#graphics

Citrix Blog post – Optimising the performance of HDX 3D Pro – Lessons from the field

From Citrix Knowledgebase article CTX218217 Unable to span across multiple monitors after upgrade to 7.11 VDA, Black/Blank screen appears on the monitors while connecting to ICA session:

  1. For VDA 7.11 and newer, calculate the video memory that is required for monitors using the following formula :

    SumOfAllMons (Width * Height) * 4 / 0.3, where width and height are resolution of the monitor. Note: There is no hard and fast rule that will work for all cases.

    Example: Consider the resolution of monitor 1 is 1920*1200 and monitor 2 is 1366*768. Then SumOfAllMons will be (1920*1200 + 1366*768)

  2. CTX115637 Citrix Session Graphics Memory Reference describes how multi-monitor resolution is determined.
  3. Open the registry (regedit) and navigate to:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vbdenum
  4. Increase the value of “MaxVideoMemoryBytes” REG_DWORD value to the above calculated memory.
  5. Reboot the VDA

From Citrix Discussions: To exclude applications from Citrix 3D rendering, create a REG_DWORD registry value “app.exe” with value 0 or a registry value “*” with value 0.

  • Both x86 and x64:
    • reg add hklm\software\citrix\vd3d\compatibility /v * /t REG_DWORD /f /d 0

Wildcards are not supported. The asterisk * here has a special meaning “all apps” but is not a traditional wildcard. To blacklist multiple apps e.g. both appa.exe and appb.exe must be done by creating a registry value for each app individually.

This is most problematic in Remote PC since most physical PCs have GPUs. I recently had to blacklist Internet Explorer to prevent lockup issues when switching back to physical.

Uninstall VDA

Uninstall the VDA from Programs and Features.

Then see CTX209255 VDA Cleanup Utility.

To run the VDA Cleanup Tool silently:

  1. Execute VDACleanupUtility.exe /silent /noreboot to suppress reboot.
  2. Once the VDACleanupUtility has finished executing, setup Auto logon for the current user.
  3. Reboot.
  4. After reboot, tool will launch automatically to continue Cleanup.

Another option is to delete CitrixVdaCleanup value under HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce. Then after reboot, run VDACleanupUtility.exe /silent /reboot to indicate that it’s running after the reboot.