Citrix Virtual Delivery Agent (VDA) Post Install Script

Updated 18th July 2025

Whilst some of these items can be excluded from the Virtual Delivery Agent (VDA) installation, checking and managing them in a post install script ensures we have consistency between all installations and VDA versions. All these actions need to take place in the base image, hence why they are managed in a script and not via Group Policies. This script has been built from years of lessons learnt and developing best practices. It will…

  • Disable the Telemetry Service
  • Disable the VDA Ceip Service
  • Disable the CtxAppVService (from 7.14 to 7.15 CU4/1906)
  • Disable the App-V Package Cleanup (from 7.15 CU5/1909)
  • Disable the Smart Card Services and Launcher
  • Implement the Citrix Desktop Service (BrokerAgent) Scheduled Task
  • Configure the UviProcessExcludes
  • Configure the CtxHooks
  • Configure the UPMEvent
  • Update the BrokerAgent.exe.config file
  • Enable the SaveRsopToFile registry value if it exists

Read more

Best Practice for the Windows Client Side Caching (CSC) kernel driver in VDI workloads

It’s been a best practice for a long time to disable Offline Files in both RDSH and VDI workloads. However, this has only ever been based around the Offline Files (CscService) service and some registry tweaks.

What people don’t realize is that you must properly disable Offline Files in all VDI workloads by also disabling the Windows Client Side Caching (CSC) kernel driver as outlined by Ned Pyle here.

Even with the Offline Files (CscService) service disabled, the Windows Client Side Caching (CSC) kernel driver is still loaded at Windows startup, creating unnecessary noise and potentially impeding performance when users access a network share.

The following example is a screen shot of Process Monitor monitoring a zpaq64.exe process extracting a file to a network drive. Note how it’s continually attempting to access the CSC (Client-Side Caching) area before the network share, even though Offline Files is disabled. This creates a large number of NAME NOT FOUND errors, and adds a potential delay to the execution time.

Read more

Best Practice for the Windows Time (W32TIME) Service for RDSH and VDI workloads

When using image deployment mechanisms for RDSH and VDI workloads, such as Citrix PVS, Citrix MCS and VMware View Composer, it’s extremely important to reconfigure the Windows Time (w32time) Service to ensure that the LastBootUpTime is accurate. If it’s not accurate, it effects monitoring, the correlation of log data, event triggers, etc.

The default Manual trigger of the Windows Time service is based on domain membership, which seems to cause issues as the image boots and changes name to the correct target name. Without having a deep enough understanding on the inner workings of these technologies, I can only assume that the default trigger of the Windows Time service is not compatible with the way the imaging mechanisms work on boot up to change the computer name and join to an Active Directory computer object. There may be a point during startup where Windows detects that it’s not domain joined and therefore stops the Windows Time service, which seems to throw the time out.

Read more

HTTP Default Icon issue

Sometimes you may find that the HTTP URL shortcut icon is “broken”; referencing %SystemRoot%\system32\SHELL32.dll,0 instead of %SystemRoot%\system32\url.dll,0. This is due to a bug that does not consistently set the default type and data for the HKEY_CLASSES_ROOT\HTTP\DefaultIcon value. When the icons are not displaying correctly, it will have a default value of type REG_SZ with Data “%1” when it should be of type REG_EXPAND_SZ with Data “%SystemRoot%\system32\url.dll,0”. Strangely, the DefaultIcon for the HTTPS (HKEY_CLASSES_ROOT\HTTPS\DefaultIcon) URL shortcut does not suffer from the same problem. I hope you find this information of value.

Read more

Microsoft Windows 2003 Post-SP2 Hotfixes

Why should we apply hotfixes?

Some IT Administrators take the approach that if they are not experiencing the issues/symptoms referred to in the knowledge base article; they shouldn’t be deploying the hotfix. However, from experience we understand that the vendor doesn’t always document all issues addressed, so there also needs to be an understanding of previous releases of the same drivers, etc, in other hotfixes.

Read more

SMB Tuning

 Here are 3 good articles written by Michel Roth. Fileserving in Terminal Server Environments (Part 1) Fileserving in Terminal Server Environments (Part 2) Lanmanserver and Lanmanworkstation Tuning So how do you know if you have a problem? Well on the Terminal/Citrix servers you need to monitor the outstanding Redirector/Current Commands queue. The goal of a Terminal/Citrix … Read more

Processor Scheduling

Multi-tasking Operating Systems just give the illusion that they’re doing things in parallel. In reality, the CPUs rapidly skip from task to task using various algorithms and heuristics, making one think the processes truly are running simultaneously. The choice of scheduling algorithm can be immensely important.

Read more