RDP not working after XenApp 6 uninstall

A while ago I was doing a large VSI project in a XenApp environment. While the results were not what we expected, I wanted to rule out that the bottleneck was XenApp itself. So using RDP as a connection protocol instead of ICA.

After doing some changes on the servers I tried to logon using MSTSC. It gave me a nice error message and didn’t allow me to connect.

Now, tracing back my steps, I figured that the last change I did on the servers was to uninstall XenApp 6. I didn’t have access to vCenter (these were virtual machines) and RDP was obviously not working, which made troubleshooting difficult. I didn’t want to redeploy these machines, since that took quite some time at this customer (and we were already under time pressure).

Long story short, uninstalling XenApp 6 broke RDP on those servers. During the installation of XenApp, the configuration of RDP is modified, normally that modification is reverted when you uninstall XenApp. In my case, it didn’t revert. There are 2 ways to fix it. The easiest way is to restore the correct registry value, another way is to recreate the RDP connection itself.

Restore the correct registry value

Like I said, during installation of XenApp, the setup modifies the RDP connection. These modifications weren’t reverted when I uninstalled XenApp again. Luckily, the original values are stored in a backup registry key during installation, so restoring them is only a matter of copying the correct value.

If you have console access to the server, you can do these steps locally. But if you, like me, don’t have access, you can use remote registry to access the server’s registry:

  1. Start regedit on a server
  2. Click File > Connect Network Registry
  3. Enter the XenApp server name and press “OK”
  4. The registry of the server should now appear in regedit

The RDP connection settings are stored in the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

Two values are of importance:

  1. LoadableProtocol_Object (REG_SZ)
  2. CitrixBackupRdpTcpLoadableProtocolObject (REG_SZ)

The value of “LoadableProtocol_Object” is the main problem, after XenApp installation this is modified to “RPM.CtxRdpProtocolManager”. The original value is stored in “CitrixBackupRdpTcpLoadableProtocolObject” (this should be “{18b726bb-6fe6-4fb9-9276-ed57ce7c7cb2}”). During uninstall, the value of “CitrixBackupRdpTcpLoadableProtocolObject” should be copied back to “LoadableProtocol_Object” (which didn’t happen in my case).

So copy the value of “CitrixBackupRdpTcpLoadableProtocolObject” to “LoadableProtocol_Object” and RDP should start working immediately. If it’s not working immediately, try restarting the “Remote Desktop Services” service on the server. The value “CitrixBackupRdpTcpLoadableProtocolObject” can be deleted after copying the data.

Reconfigure RDP Connection

Recreating the RDP connection through “Remote Desktop Session Host Configuration” on the server will reset all values for the RDP connection to default. This can either be done from the server itself (logging on to the console), or through remote management (from another server).

Start the “Remote Desktop Session Host Configuration” by clicking Start > Administrative Tools > Remote Desktop Services > Remote Desktop Session Host Configuration. If you’re configuring remotely, right-click “RD Session Host Configuration” in the left pane and click “Connect to Remote Desktop Session Host Server”.

Enter the server name and click OK.

In the middle pane, under “Connections”, there’s an entry called “RDP-Tcp”. Highlight this entry and press “Delete” in the right pane (click “Yes” to the confirmation question).

The connection is removed, so probably there are no connections displayed in the connections list.  Now click “Create New Connection” in the right pane, this will start the Remote Desktop Services Connection Wizard.

Click “Next”.

Enter “RDP-Tcp” as the name of the connection, the connection type should be “Microsoft RDP 7.1” (in my case, it’s the only option). The comment field can be left empty. Click “Next” again.

Select “All network adapters configured with this protocol” for network adapter and set the number of concurrent connections to “Unlimited connections” (these are the default values). Click “Next”.

Review your settings and press “Finish” to create the RDP connection.

The connection is now listed in your connections list again. RDP connections to your server should be working immediately again, if not, try to restart the “Remote Desktop Services” service on the server.

Version

The server which showed this issue was a Windows Server 2008 R2 machine, installed with XenApp 6 Hotfix Rollup Pack 1. I could reproduce this in my lab environment using HRP1, but the issue was not there without HRP1.

14 thoughts to “RDP not working after XenApp 6 uninstall”

  1. Ran into the exact same problem and was losing my mind trying to figure out why TS wasn’t listening after uninstalling XenApp. Worked for me. Thanks so much, you saved me a few grey hairs.

  2. Just saved me a complete reinstall with this!
    W2K8R2 with Xenapp6, with hotfixes:
    001 XA600W2K8R2X64001
    009 XA600W2K8R2X64009
    012 XA600W2K8R2X64012
    018 XAE600W2K8R2X64018
    021 XA600W2K8R2X64021
    029 XA600W2K8R2X64029

    After uninstall my RDP no longer functioned as described above

  3. Many thanks for this helpful article.
    I wasted two days troubleshooting RDP in Windows after uninstallation of XenApp6

  4. Wonderful post. Same problem after removing XenApp 6.5. glad you posted this. Saved me a reinstall of Windows.

  5. Thanks, Floris! I ran into the same issue after uninstalling XenApp 6.5 and the solution worked perfectly!

  6. Again, really helpful article. I never want to go near Citrix again! You saved me a lot of time and this is definitely worth a few beers if you’re in Staten Island NY anytime. 🙂

Leave a Reply

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

Complete the following sum: * Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.