Navigation:
- Change Log
- VDA Virtual Machine Hardware
- Windows Configuration
- Install/Upgrade Virtual Delivery Agent 7.6.9000
- Receivers:
- Framehawk Configuration
- Remote Desktop Licensing Configuration
- Reduce C: Drive Permissions
- Configure Pagefile for Provisioning Services
- Direct Access Users Group – allow non-administrators to RDP to the VDA
- Enable Windows Profiles v3/v4
- Registry Settings – screen saver, published Explorer, 8dot3, HTML5 Clipboard, HTML5 Upload Folder, 4K Monitors
- Restore Legacy Client Drive Mapping
- COM/LPT Port Redirection
- Print Driver for Mac and Linux Clients
- HTML5 Receiver – SSL for VDA
- Anonymous Accounts
- Antivirus
- Optimize Performance
- Seal and Shut Down
- Troubleshooting – Graphics
- Uninstall VDA
💡 = Recently Updated
Change Log
- 2020 Nov 7 – updated Install VDA section, for version 7.6.9000 (update 9).
- 2019 Aug 30 – updated Install VDA section, for version 7.6.8000 (update 8).
- 2019 Feb 8 – updated Install VDA section, for version 7.6.7000 (update 7).
- 2018 Aug 15 – updated Install VDA section, for version 7.6.6000 (update 6).
- 2018 Feb 8 – updated Install VDA section, for version 7.6.5000 (update 5).
- 2017 Dec 8 – in Registry > Login Timeout section, added link to Citrix CTX138404 Application Connection Starts but Disappears after Timeout
Hardware
- For virtual desktops, give the virtual machine: 2+ vCPU and 2+ GB of RAM
- For Windows 2008 R2 RDSH, give the virtual machine 4 vCPU and 12-24 GB of RAM
- For Windows 2012 R2 RDSH, give the virtual machine 8 vCPU, and 24-48 GB of RAM
- If using PvS RAM caching, add more RAM for the cache
- Remove the floppy drive
- Remove any serial or LPT ports
- If vSphere:
- To reduce disk space, reserve memory. Memory reservations reduce or eliminate the virtual machine .vswp file.
- The NIC should be VMXNET3.
- If this VDA will boot from Provisioning Services:
- Do not enable Memory Hot Plug
- For vSphere, the NIC must be VMXNET3.
- 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.
- Do not enable Memory Hot Plug
- Install the latest version of drivers (e.g. VMware Tools)
- If Windows 7 on vSphere, don’t install the VMware SVGA driver. For more details, see CTX201804 Intermittent Connection Failures/Black Screen Issues When Connecting from Multi-Monitor Client Machines to Windows 7 VDA with VDA 7.x on vSphere/ESXi.
- If Windows 7 on vSphere, don’t install the VMware SVGA driver. For more details, see CTX201804 Intermittent Connection Failures/Black Screen Issues When Connecting from Multi-Monitor Client Machines to Windows 7 VDA with VDA 7.x on vSphere/ESXi.
If vSphere, disable NIC Hotplug
- Users could use the systray icon to Eject the Ethernet Controller. Obviously this is bad.
- To disable this functionality, power off the virtual machine.
- Once powered off, right-click the virtual machine and click Edit Settings.
- On the VM Options tab, expand Advanced and then click Edit Configuration.
- Click Add Row.
- On the left, enter devices.hotplug. On the right, enter false.
- Then click OK a couple times to close the windows.
- The VM can then be powered on.
Windows Preparation
- 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. 💡
- If RDSH, disable IE Enhanced Security Configuration in Server Manager > Local Server.
- Optionally, go to Action Center (Windows 8.1 or 2012 R2) or Security and Maintenance (Windows 10) to disable User Account Control and enable SmartScreen .
- Run Windows Update.
- Add your Citrix Administrators group to the local Administrators group on the VDA. Computer Management.
- 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 | Remotes Desktop Services | Remote desktop Session Host | Security | Always prompt for password upon connection
Or set the registry valueHKEY_LOCAL_MACHINE\SOFTWARE\Citrix\
PorticaAutoLogon (DWORD) = 0x10. - For Windows 7 VDAs that will use Personal vDisk, install Microsoft hotfix 2614892 – A computer stops responding because of a deadlock situation in the Mountmgr.sys driver. This hotfix solved a Personal vDisk Image update issue detailed at Citrix Discussions.
- If this VDA is Windows Server 2008 R2, request and install the Windows hotfixes recommended by Citrix CTX129229. Scroll down to see the list of recommended Microsoft hotfixes for Windows Server 2008 R2. Ignore the XenApp 6.x portions of the article. Also see https://www.carlstalhood.com/windows-server-2008-r2-post-sp1-hotfixes/.
- To remove the built-in apps in Windows 10, see Robin Hobo How to remove built-in apps in Windows 10 Enterprise.
- 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.
- 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.
Install/Upgrade Virtual Delivery Agent 7.6.9000
- Console – For virtual desktops, make sure you are logged into the console. The VDA won’t install if you are connected using RDP.
- Windows 10: VDA 7.6.9000 is not compatible with Windows 10. Instead install VDA 7.15 Update 6. Delivery Controllers must remain on 7.6.9000.
- 8.3 file names – Make sure 8.3 file name generation is not disabled. If so, see CTX131995 – User Cannot Launch Application in Seamless Mode to fix the AppInit_DLLs registry keys.
- .NET Framework – Make sure .NET Framework 4.5.2 is installed.
- Download – Go to the downloaded XenApp/XenDesktop 7.6.9000 and run AutoSelect.exe. Or you can use one of the standalone installers from the same download link.
- Click one of the XenApp or XenDesktop buttons. It doesn’t matter which one you click.
- Click one of the middle Virtual Delivery Agent boxes depending on which OS type you’re installing this on.
- In the Environment page, select Create a Master Image, and click Next. Master Image includes Profile Management, while the other option does not.
- For virtual desktops, in the HDX 3D Pro page, if you don’t have a GPU, select standard VDA, and click Next.
- 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.
- 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.
- In the Features page, click Next. 7.6.9000 VDA does not include Personal vDisk.
- In the Firewall page, click Next.
- In the Summary page, click Install.
- For RDSH, click Close when you are prompted to restart.
- After the machine reboots twice, login, and installation should continue.
- If you see a Locate ‘XenDesktop LTSR CU9’ installation media window, click Cancel.
- Mount the XenApp_and_XenDesktop_7_6_8000.iso.
- Run AutoSelect.exe.
- Click the Virtual Desktop Agent box to resume installation.
- Mount the XenApp_and_XenDesktop_7_6_8000.iso.
- Installation will continue.
- After installation, click Finish to restart the machine again.
- If 8.3 file name generation is disabled, see CTX131995 User Cannot Launch Application in Seamless Mode to fix the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs registry value.
VDA Components
VDA 7.6.9000 includes the following component versions. These components are on a different LTSR program.
- VDA 7.6.9000 comes with Citrix Profile Management LTSR 7.15.6000.
- VDA 7.6.9000 comes with Citrix Receiver LTSR 4.9.8000, but can be upgraded to 4.9.9000.
Connection Quality Indicator
The Connection Quality Indicator tells the user the quality of the connection. For example:
Position of the indicator is configurable by the user. Thresholds are configurable through group policy.
Download it from CTX220774 Connection Quality Indicator and install it. The article is very detailed.
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.
Find the settings under Computer Config | Policies | Admin Templates | Citrix Components | Virtual Desktop Agent | CQI
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:
- Open Programs and Features.
- Find Citrix 7.6 LTSR CU9 – Virtual Delivery Agent, and click Change.
- Click Customize Virtual Delivery Agent settings.
- Edit the Delivery Controllers, and click Next.
- On the Configure Delivery Controller page, change the port number, and click Next.
- In the Summary page, click Reconfigure.
- In the Finish page, click Finish. The machine automatically restarts.
- You must also change the VDA registration port on the Delivery Controllers by running
BrokerService.exe /VDAPort
.
Controller Registration – Verify
- If you restart the Virtual Delivery Agent machine, or restart the Citrix Desktop Service…
- In Windows Logs \ Application, you should see an event 1012 from Citrix Desktop Service saying that it successfully registered with a controller. If you don’t see this then you’ll need to fix the ListOfDDCs registry key.
- You can also run Citrix’s Health Assistant on the VDA.
- See CTX220772 Technical Primer: VDA Registration for a very detailed explanation of the VDA Registration process.
Citrix PDF Printer 7.11.0 for Receiver for HTML5/Chrome
- To allow printing from Receiver for HTML5/Chrome, install Citrix PDF Printer. Get it from the Receiver for HTML5 download page in the Additional Components section. Note: this PDF Printer is only used by Receiver for HTML5 and Receiver for Chrome.
- Go to the extracted CitrixPDFPrinter_7.11.0 and run CitrixPDFPrinter64.msi.
- In the Please read the Citrix PDF printer License Agreement page, check the box next to I accept the terms and click Install.
- In the Completed the Citrix PDF Universal Driver Setup Wizard page, click Finish.
- In Programs and Features, it is shown as version 7.11.0.11.
- Configure a Citrix Policy to enable the PDF printer. The setting is called Auto-create PDF Universal Printer in the user half of a Citrix Policy GPO.
Citrix File Access 2.0.3 for Receiver for Chrome
- If you support Receiver for Chrome (Chromebook) and want to open files on Google Drive using published applications, install Citrix File Access on the VDAs. Get it from the Receiver for Chrome download page, in the Additional Components section.
- Go to the extracted Citrix_File_Access_2.0.3, and run FileAccess.msi.
- In the Please read the File Access License Agreement page, check the box next to I accept the terms and click Install.
- In the Completed the File Access Setup Wizard page, click Finish.
- File Access is listed in Programs and Features as version 2.0.3.33.
- 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.
- 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 RDSH, the only way to configure Remote Desktop Licensing is using group policy (local or domain). This procedure also works for 2008 R2 RDSH. This procedure is not needed on virtual desktops.
- For local group policy, run gpedit.msc. Alternatively, you can configure this in a domain GPO.
- Go to Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing.
- 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 Controllers). Click OK.
- Double-click Set the Remote Desktop licensing mode. Change it to Enabled and select Per User. Click OK.
- 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.
- In Server Manager, open the Tools menu, expand Terminal Services and click RD Licensing Diagnoser.
- 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.
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 2008 R2 and RDSH Windows 2012 R2.
The default permissions allow users to store files on the C: drive in places other than their profile.
- Open the Properties dialog box for C:\.
- On the Security tab, click Advanced.
- If UAC is enabled, click Change permissions.
- Highlight the line containing Users and Create Folders and click Remove.
- Highlight the line containing Users and Create files and click Remove. Click OK.
- Click Yes to confirm the permissions change.
- If you see any of these Error Applying Security windows, click Continue. This window should appear multiple times.
- 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).
- Open System. In 2012 R2, you can right-click the Start button and click System.
- Click Advanced system settings.
- On the Advanced tab, click the top Settings button.
- On the Advanced tab, click Change.
- 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.
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.
Windows Profiles v3/v4/v5
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 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
Windows 8.1 and 2012 R2 don’t properly set the profile version. To fix this, ensure update rollup 2887595 is installed. http://support.microsoft.com/kb/2890783. After you apply this update, you must create a registry key before you restart the computer.
- Run regedit.
- Locate and then tap or click the following registry subkey:
HKEY_LOCAL_MACHINE\System\CurrentControlset\Services\ProfSvc\Parameters
- On the Edit menu, point to New, and then tap or click DWORD Value.
- Type UseProfilePathExtensionVersion.
- Press and hold or right-click UseProfilePathExtensionVersion, and then tap or click Modify.
- In the Value data box, type 1, and then tap or click OK.
- Exit Registry Editor.
Then, Windows 8.1 creates a user profile and appends the suffix “.v4” to the profile folder name to differentiate it from version 2 of the profile in Windows 7 and version 3 of the profile in Windows 8.
Registry
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)
- Value =
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
- Value =
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
- Value =
Login Timeout
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 3600).
- Value =
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
- Value =
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) = 00000011 (Decimal)
- Value =
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.
Mfaphook – 8.3 File Names
- Open a command prompt.
- Switch to C:\ by running cd \
- Run dir /x program*
- If you don’t see PROGRA~1 then 8.3 is disabled. This will break Citrix.
- If 8.3 is disabled, open regedit and go to HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows.
- On the right is AppInit_DLLs. Edit it and remove the path in front of MFAPHOOK64.DLL.
Receiver for HTML5/Chrome Enhanced Clipboard
From About Citrix Receiver for Chrome 1.9 at Citrix Docs: To enable enhanced clipboard support, set 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.
Receiver for HTML5/Chrome Upload Folder
The Receiver for HTML5 (or Chrome) lets upload files.
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.
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.
Note: HTML5/Chrome Receiver also adds a Save to My Device location to facilitate downloads.
4K Monitors
Citrix CTX201696 – Citrix XenDesktop and XenApp – Support for Monitors Including 4K Resolution and Multi-monitors: Up to eight 4K monitors are supported with the Std-VDA and RDS VDA irrespective of underlying GPU support, provided the required policies and/or registry keys are correctly configured. Currently the Std-VDA for XenDesktop and RDS-VDA for XenApp does not support resolutions higher than 4094 in any dimension.
Framehawk currently does not support 4K monitors. At the time of writing, the number of monitors supported is 1, the use of more monitors will cause the graphics mode to change from Framehawk to Thinwire to support multi-monitor. The maximum resolution supported by Framehawk is currently 2048×2048.
From CTX200257 – Screen Issues Connecting to 4K Resolution Monitors: Symptom: A blank or corrupt screen is displayed when connecting to Windows 7 or 8.1 Standard XenDesktop Virtual Delivery Agents on a client which has one or more 4K resolution monitors.
- Calculate the video memory that is required for 4K monitor using the following formula:
Sum of total monitors (Width * height * 4 * X) where width and height are resolution of the monitor.X = 2 if VDA is Windows 7 OR X = 3 if VDA is Windows 8\8.1Suppose a Windows 7 VDA is connecting to a client that has dual 4K monitors (3840×2160), then video buffer should be: (3840 x 2160 x 4 x 2) + (3840 x 2160 x 4 x 2) = ~132MB
- CTX115637 Citrix Session Graphics Memory Reference describes how multi-monitor resolution is determined.
- Open the registry (regedit) and navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vd3v
- Increase the value of “MaxVideoMemoryBytes” REG_DWORD value to the above calculated memory.
- Reboot the VDA.
Citrix Policies also control graphics performance.
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.
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
- Value =
When you reconnect, the client drives will be mapped as drive letters (starts with V: and goes backwards).
COM/LPT Port Redirection
To signal Citrix’ intention to deprecate COM and LPT support in a future major release, policy settings for COM Port and LPT Port Redirection have moved from Studio to the registry, and are now located under HKLM\Software\Citrix\GroupPolicy\Defaults\Deprecated on either your Master VDA image or your physical VDA machines. The registry values are detailed in Citrix Docs.
Print Driver for Non-Windows Clients
This section applies to Windows 2012 R2, Windows 8.1, and Windows 10 VDAs.
From Mac Client Printer Mapping Fix for Windows 8/8.1 and Windows Server 2012/2012R2. By default, Non-Windows clients cannot map printers due to a missing print driver on the VDA machine.
- Requirements:
- Internet Access
- Windows Update service enabled
- Click Start and run Devices and Printers.
- In the Printers section, highlight a local printer (e.g. Microsoft XPS Document Writer). Then in the toolbar click Print server properties.
- Switch to the Drivers tab. Click Change Driver Settings.
- Then click Add.
- In the Welcome to the Add Printer Driver Wizard page, click Next.
- In the Processor Selection page, click Next.
- 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.
- 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.
- In the Completing the Add Printer Driver Wizard page, click Finish.
- 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 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. Unfortunately this does not work for Remote Desktop Session Host.
The following instructions can be found at Configure SSL on a VDA using the PowerShell script at Citrix Docs.
- On the VDA machine, run mmc.exe.
- Add the Certificates snap-in.
- Point it to Local Computer.
- Request a certificate from your internal Certificate Authority. You can use either the Computer template or the Web Server template.
You can also use group policy to enable Certificate Auto-Enrollment for the VDA computers.
- Browse to the XenApp/XenDesktop 7.6.9000 ISO. In the \Support\Tools\SslSupport folder, shift+right-click the Enable-VdaSSL.ps1 script and click Copy as path.
- Run PowerShell as administrator (elevated).
- Run the command Set-ExecutionPolicy unrestricted. Enter Y to approve.
- In the PowerShell prompt, type in an ampersand (&), and a space.
- Right-click the PowerShell prompt to paste in the path copied earlier.
- At the end of the path, type in
-Enable
- If there’s only one certificate on this machine, press Enter.
- If there are multiple certificates, 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.
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.
- If this VDA machine has a different service already listening on 443 (e.g. IIS), then the VDA needs to use a different port for SSL connections. At the end of the command in the PowerShell prompt, enter
-SSLPort 444
or any other unused port.
- Press <Enter> to run the Enable-VdaSSL.ps1 script.
- Press <Y> twice to configure the ACLs and Firewall.
- You might have to reboot before the settings take effect.
- Login to a Controller and run PowerShell as Administrator (elevated).
- Run the command
asnp Citrix.*
- 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.
- You can run
Get-BrokerAccessPolicyRule -DesktopGroupName '<delivery-group-name>'
to verify that HDX SSL is enabled.
- Also run the following command:
Set-BrokerSite –DnsResolutionEnabled $true
You should now be able to connect to the VDA using the HTML5 Receiver from internal machines.
Anonymous Accounts
If you intend to publish apps anonymously then follow this section.
- 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.
- You can 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 Virtual Delivery Agent will create them automatically when users log in.
- You can see the local Anon accounts by opening Computer Management, expanding System Tools, expand Local Users and Groups and clicking Users.
- If you open one of the accounts, on the Sessions tab, notice that idle timeout defaults to 10 minutes. Feel free to change it.
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.
- On the Virtual Delivery Agent, run mmc.exe.
- Open the File menu and click Add/Remove Snap-in.
- Highlight Group Policy Object Editor and click Add to move it to the right.
- In the Welcome to the Group Policy Wizard page, click Browse.
- On the Users tab, select Non-Administrators.
- Click Finish.
- 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:
- Symantec TECH91070 Citrix and terminal server best practices for Endpoint Protection.
- Symantec TECH197344 Best practices for virtualization with Symantec Endpoint Protection 12.1.2 and later
- Symantec TECH180229 Symantec Endpoint Protection 12.1 – Non-persistent Virtualization Best Practices
- Symantec TECH123419 How to prepare Symantec Endpoint Protection clients on virtual disks for use with Citrix Provisioning Server has a script that automates changing the MAC address registered with Symantec.
- Citrix Blog Post How to prepare a Citrix Provisioning Services Target Device for Symantec Endpoint Protection
Trend Micro
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\TmFilter\Parameters] “DisableCtProcCheck”=dword:00000001
Trend Micro Links:
- Trend Micro Docs – Trend Micro Virtual Desktop Support
- Trend Micro Docs – VDI Pre-Scan Template Generation Tool
- Trend Micro 1055260 – Best practice for setting up Virtual Desktop Infrastructure (VDI) in OfficeScan
- Trend Micro 1056376 – Frequently Asked Questions (FAQs) about Virtual Desktop Infrastructure/Support In OfficeScan
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.
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.
- On the master VDA, go to C:\Program Files\Citrix\PvsVm\TargetOSOptimizer and run TargetOSOptimizer.exe.
- Then click OK. Notice that it disables Windows Update.
- 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
- VMware OS Optimization Tool plus Login VSI’s tuning template, which is now built into VMware’s tool. See VMware Windows Operating System Optimization Tool Guide Technical Paper for details on this tool.
- Daniel Feller Optimize VDI: Windows 10 Default Apps (Original, Anniversary And Creator Updates) lists the built-in UWP apps that should be removed.
- James Rankin Improving Windows 10 logon time:
- Use Remove-AppXProvisionedPackage to remove Modern apps. See the article for a list of apps to remove. Also see James Rankin Everything you wanted to know about virtualizing, optimizing and managing Windows 10…but were afraid to ask – part #3: MODERN APPS
- Import a Standard Start Tiles layout (Export-StartLayout)
- Create a template user profile
- Citrix’s Windows 10 Optimization Guide – remove built-in apps, delete Scheduled Tasks, disable services, etc.
- Citrix’s Windows 8 and 8.1 Virtual Desktop Optimization Guide contains the following:
- A list of services to disable
- A list of computer settings
- A list of scheduled tasks to disable
- A script to do all of the above
- Carl Luberti (Microsoft) Windows 10 VDI Optimization Script
- Microsoft’s Windows 8 VDI optimization script.
- Desktop Virtualization Best Practice Analyzer (BP Analyzer)
Optimization Notes:
- If this machine is provisioned using Provisioning Services, do not disable the Shadow Copy services.
- Windows 8 detects VDI and automatically disables SuperFetch. No need to disable it yourself.
- Windows 8 automatically disables RSS and TaskOffload if not supported by the NIC.
RDSH 2008 R2
Citrix CTX131577 XenApp 6.x (Windows 2008 R2) – Optimization Guide is a document with several registry modifications that are supposed to improve server performance. Ignore the XenApp 6 content and instead focus on the Windows content.
Citrix CTX131995 User Cannot Launch Application in Seamless Mode in a Provisioning Services Server when XenApp Optimization Best Practices are Applied. Do not enable NtfsDisable8dot3NameCreation
Citrix CTX213540 Unable To View Printers In Devices And Printers Win 2012 R2 – don’t disable Device Setup Manager Service
Norskale has Windows 2008 R2 Remote Desktop and XenApp 6 Tuning Tips Update.
Windows 7
Microsoft has compiled a list of links to various optimization guides.
It’s a common practice to optimize a Windows 7 virtual machine (VM) template (or image) specifically for VDI use. Usually such customizations include the following.
- Minimize the footprint, e.g. disable some features and services that are not required when the OS is used in “stateless” or “non-persistent” fashion. This is especially true for disk-intensive workloads since disk I/O is a common bottleneck for VDI deployment. (Especially if there are multiple VMs with the same I/O patterns that are timely aligned).
- Lock down user interface (e.g. optimize for specific task workers).
With that said the certain practices are quite debatable and vary between actual real-world deployments. Exact choices whether to disable this or that particular component depend on customer requirements and VDI usage patterns. E.g. in personalized virtual desktop scenario there’s much less things to disable since the machine is not completely “stateless”. Some customers rely heavily on particular UI functions and other can relatively easily trade them off for the sake of performance or standardization (thus enhance supportability and potentially security). This is one of the primary reasons why Microsoft doesn’t publish any “VDI Tuning” guide officially.
Though there are a number of such papers and even tools published either by the community or third parties. This Wiki page is aimed to serve as a consolidated and comprehensive list of such resources.
Daniel Ruiz XenDesktop Windows 7 Optimization and GPO’s Settings –
Microsoft Whitepaper Performance Optimization Guidelines for Windows 7 Desktop Virtualization
Seal and Shut Down
If this session host 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:
- Go to the properties of the C: drive and run Disk Cleanup.
- On the Tools tab, click Optimize to defrag the drive.
` - Run slmgr.vbs /dlv and make sure it is licensed with KMS and has at least one rearm remaining. It is no longer necessary to manually rearm licensing. XenDesktop will do it automatically.
- Run Delprof2 to clean up local profiles. Get it from http://helgeklein.com/download/.
- Machine Creation Services and Provisioning Services require DHCP.
- Session hosts commonly have DHCP reservations.
- Base Image Script Framework (BIS-F) automates many image sealing tasks. The script is configurable using Group Policy. 💡
- Shut down the master image. You can now use Studio or Provisioning Services to create a catalog of linked clones.
Troubleshooting – Graphics
If Windows 7 on vSphere, don’t install the VMware SVGA driver. For more details, see CTX201804 Intermittent Connection Failures/Black Screen Issues When Connecting from Multi-Monitor Client Machines to Windows 7 VDA with VDA 7.x on vSphere/ESXi.
For Citrix Policies that control graphics codecs, see https://www.carlstalhood.com/citrix-policy-settings/#graphics
From Citrix Knowledgebase article CTX200257 – Screen Issues Connecting to 4K Resolution Monitors in DCR Mode:
- Calculate the video memory that is required for 4K monitor using the following formula:
Sum of total monitors (Width * height * 4 * X) where width and height are resolution of the monitor.X = 2 if VDA is Windows 7 OR X = 3 if VDA is Windows 8\8.1\10Example: Suppose a Windows 7 VDA is connecting to a client that has dual 4K monitors (3840×2160), then video buffer should be: (3840×160 x 4 x 2) + (3840 x 2160 x 4 x 2) = ~115MB
- CTX115637 Citrix Session Graphics Memory Reference describes how multi-monitor resolution is determined.
- Open the registry (regedit) and navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vd3v - Increase the value of “MaxVideoMemoryBytes” REG_DWORD value to the above calculated memory.
- 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.
- XD 7.1 and XD 7.5:
- x86: reg add hklm\software\citrix\vd3d\compatibility /v * /t REG_DWORD /f /d 0
- x64: reg add hklm\software\Wow6432Node\citrix\vd3d\compatibility /v * /t REG_DWORD /f /d 0
- XD 7.6 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:
- Execute VDACleanupUtility.exe /silent /noreboot to suppress reboot.
- Once the VDACleanupUtility has finished executing, setup Auto logon for the current user.
- Reboot.
- 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.
I have to admit – you do a fantastic job and I often read your articles.
But now I´m just wonder when to Join to domain and create a Template to later run with
PVS XenDesktop Setup Wizard for creating new Target Machines?
Im reading your Windows Preparation:
“..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. 💡”
-I interpret it that way due to”.. moving the VM to the correct OU” that I should Join Master to Domain before
I starting ImageWrite to vDisk?
What is the recommendation ?
Before? = when you work on a VM hardrive and before you create a Template.
(I also plan to use this virtual machine for write to vDisk and later create a new TargetDevice and connect the mac addresses to continue
installing VDA, install Office and run arm rearm im private mode)
After? = when yuo work on a vDisk in Private mode Join Domain, install VDA and arm + rearm Window and Office?
Have I missunderstod your article?. Anyway, I would really appreciate if someone
could clarify my thoughts.
I think it works either way. PVS will handle the computer name and computer password when you convert the vDisk to Standard Image but the vDisk needs to be joined to the domain before that.
Is it possible to specify what server desktop is being presented to a user in 7.6? In the 6.5 days it was easy and in 7.12 and later with the use of tags we could do that.
In 7.6, only with different servers in different Delivery Groups.
Hi Carl,
I plan to upgrade my whole XenApp platform from 7.11 to 7.15.
Someone already advise me to perform all patch versions (7.12,7.13,7.14,7.15), to avoid any disturb.
It sounds strange for me.
Any advise?
The upgrades are cumulative. No need to install the intermediaries.
I’m having issues with accessing published applications. Pretty simple published app I’m testing with, notepad; 2012 R2 is the OS. I am able to access a published desktop. I’ve seen a few threads out there. 8.3 file name generation is not disabled. FSutil query returns that volume state is 0 and registry state is 2. I’ve also updated the registry settings for mfaphook64.dll and mfaphook.dll, which does not have the path to the dlls, just the name of the dlls. I”ve checked windows updates for important updates and optional, all have been applied
The event ID I’m receiving is 1030. It says, “The Citrix Desktop Service detected that a user session has ended, reason code connection failure.” We did an in place upgrade from 7.6 to 7.6.4000. For the production servers we had to revert back to the old vda agent, so they could access their published application. The XenApp servers I’m currently testing with are fresh builds and we would like to be able to put them in production with the new vda agent, so we can decommission the older 7.6 XenApp servers. Any advice would be greatly appreciated.
Can you do a procmon while the user is logging in? The trace might reveal the issue.
The default timeout value for a published application is 60 seconds; published desktop is not set to 60 seconds. The fix was to create a Reg_DWORD named ApplicationLaunchWaitTimeoutMS here HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI (create the key if it is not available.) and I set it to 300,000 (5 minutes). Here is the article https://support.citrix.com/article/CTX138404. Hopefully this will help someone down the road.
I added that to the article. Thanks.
Hi Carl, how do you get framehawk for LTSR 7.15? Its not included? Is it recommended to have the framehawk component? i noticed appdisk/personalvdisk is not included. Is the Unidesk App Layering a replacement for it?
I know that these components are not part of the LTSR program. See http://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr.html#par_anchortitle_1427449287
EDT replaces Framwhawk. Unidesk replaces AppDisk and PvD.
Carl, I have published a simple RDP (mstsc.exe) where users launch the RDP and then type the server name they want to access the Desktop.
When users select full screen, the Desktop task bar of the remote server is behind the task bar from the desktop used to launch it.
I am using XenApp 7.6 TLSR. Any suggestion on how to get it fixed?
VDA is 7.6.3000?
Receiver is 4.4.3000?
I published a simple RDP on XenApp 7.6 LTSR. I launch RDP and then connect to another server. For some reason, the remote Desktop taskbar is behind my local windows taskbar. Any suggestion?
Hi
For event logs we store them in our D: same as our Write Cache Disk, is there any issues with that or should I create another Disc?
Nope. Storing them on cache disk is fine.
is 7.6.2 CU2 considered an improvement over 7.6.3 LTSR?
Yes. It’s actually version 7.6.2000 as compared to 7.6.300.
Hi Carl after upgrading VDA to CU2 RDP is not working, not able to RDP the server. Any suggesstion?
You can do the normal troubleshooting. Admin? If not not, is the user in an the Direct Access Users group? Any errors in Event Viewer?
Hi Carl
For a Windows 7 VDA after installing 7.6.1 CU1, does it need the WMI hotfix?
Secondly, in our 1:1 PVD image, it appears it asks to install print drivers?
In Our RDSH environment it doesnt have that issue?
Point to Print is disabled as Computer and User Policy.. Does this only happen with PvD image?
We normally have the Print Management service to local and interact with desktop.. Under services
Any update on what the cause may be regarding this?
Thanks
Hi Carl, do you know if its fine to update to LTSR 7.6 CU1 just for the VDA and not the rest? The environment is 7.6 FP3 and VDAs are 7.5.
Yes. You can mix and match versions. But support might ask you to upgrade the Controllers.
I am installing 7.6.100, clean install but the Citrix Personal vDisk Is not installing, any ideas?
Since PvD is not covered under LTSR, Citrix purposely removed it from 7.6.1000. If you need PvD, then you need to upgrade to 7.9 to remain supported.
Thanks! Do you happen to have a link that lists out the concise fixes that CU1 provides over the 7.6.3 LTSR?
I was reading this list of fixes (http://docs.citrix.com/en-us/xenapp-and-xendesktop/7-6-long-term-service-release/xad-whats-new/fixed-issues.html), but it lists out all fixes starting from RTM (7.6.0), rather than 7.6.3. So it is a bit difficult to know what CU1 is actually going to provide for me over 7.6.3.
That’s a good question. On the bottom of that link is a Feedback button.
Carl, Is LTSR CU1 (7.6.1000) considered an update over those whom already have LTSR with 7.6.3? For example, will all components in CU1 install as an in-place upgrade if you already have 7.6.3?
Yes. For customers that prefer to remain on LTSR instead of updating to the newest versions, LTSR 7.6 CU1 provides bug fixes. It’s an in-place upgrade.
All 7.x releases are in-place upgrades. That’s a benefit of FMA over IMA. See https://www.citrix.com/blogs/2016/05/13/xenapp-xendesktop-upgrades-are-now-easy-as-pie/. SYN217 also covers this. http://live.citrixsynergy.com/2016/presentations.php