Recently I was asked to use XenDesktop 5 as a way for students in a developer training class to connect to individual Windows 2008 R2 server VMs. I agreed to set it up, but forgot that the Virtual Desktop Agent (VDA) will not install on Windows 2008 R2 server, because the installer blocks it.
I did some searching on the web and came up with a post by Carlo Costanzo talking about installing the VDA on Windows 7. This post made me realize the agent was capable of running, but simply wouldn’t install because it KNEW I was trying to put it onto Windows 2008 R2 server.
After some more searching, I found a post in the Citrix forums by a guy named Patrick Suddereth, who had managed to install the agent onto Windows 2008 R2 using a TRANSFORM workaround. His post is here.
So, I downloaded the Microsoft Windows SDK and installed a sub-component called Orca on my Windows 2008 R2 dev box. This program allows you to edit the installation process of a MSI file, then generate a .mst (transform) file. A transform file simply tells the installer what to do differently from the default installation. In this case, we needed to remove the prerequisite check of the OS (and as I found out later, allow the MSI to be installed directly).
Here’s what I had to edit:
After the edit was complete, I exported the transform (.mst) and tried running it from command line:
msiexec /i XdsAgent_x64.msi TRANSFORMS=XD5W2K8Install.mst
I was unsuccessful that way, so I tried changing things up a little…
- Copied the x64 install directory from the Citrix XenDesktop 5 installation DVD iso
- Made the edit directly to the agent MSI (instead of using the transform) and saved it back into the copied directory.
- Did a right-click / Run as Administrator to open a Console window.
- CD to the x64 / Virtual Desktop Agent directory
- Ran msiexec /i XdsAgent_x64.msi at the command prompt.
The agent installed successfully and the system rebooted as expected, but the machine refused to register with the XenDesktop 5 Controller. I tried turning off firewalls, restarting services, still nothing. Then I found a reference to a registry key that turned out to be missing!
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\VirtualDesktopAgent]
Add a String (REG_SZ) called ListOfDDCs and for its value put the fully qualified name of your XenDesktop 5 server (like foo.bar.com).
Go register your machine using the Desktop Studio and it should connect immediately.
NOTE: I’m sure this is not supported by Citrix in any way, so use at your own risk.
*** IMPORTANT UPDATE – May 10, 2011 ***
Additional Windows Firewall configuration needed after manual install of VDA Agent
If you’re installing the agent “normally”, you can check the box to automatically configure Windows firewall. Since we’re taking a backdoor, the configuration doesn’t happen. Here’s the excerpt from the Admin Guide:
To enable users to connect to desktops, you must configure your firewall as follows:
For communication between endpoint devices and desktops:
• %Program Files%\Citrix\ICAService\picaSvc.exe requires inbound TCP on port 1494. Because this connection uses a kernel driver, you may need to configure this setting as a port exception rather than a program exception, depending on your firewall software. If you are running Windows Firewall, you must configure this setting as a port exception.• %Program Files%\Citrix\ICAService\CitrixCGPServer.exe requires inbound TCP on port 2598
Special thanks to Jerry Jaworski for figuring this out and submitting it!