Installing AppSense on a Provisioned XenApp Server

Posted on 2011/01/11

I ran into an interesting situation with AppSense on a XenApp vDisk with one of my clients. We finally figured out a solution that I thought would be useful to share. The client is currently using Provisioning Services (PVS) to deploy all the XenApp servers in the farm and had purchased the AppSense Management Suite.

What the client wanted to do is add Profile Manager, Performance Manager, and Environment Manager to the XenApp farm. What surprised everyone, AppSense, Citrix, and the client, was that after the AppSense Suite was added to the vDisk image the user’s profile customizations could no longer be saved. When running on the same disk image that is local (not streamed) the issue did not exist and profile customizations were saved correctly.

After a considerable amount of testing, the client was able to narrow down the reproduction steps to the installation of the Performance Manager component onto the vDisk image. After considering the architectures of both products a possible explanation for the behavior became clear.

Provisioning Services installs device drivers for both disk and network. Performance Manager installs some drive level filters to watch the drive access by executables. The prevailing theory was that the AppSense device filters were somehow interfering with the PVS device drivers and preventing the file access on save. Further investigation into the clients vDisk update procedure revealed that the AppSense software was getting installed while the vDisk was in private image mode.

The solution turned out to be changing the installation order of the device drivers. Best practice for any PVS image management is to install the PVS target device drivers after all other device drivers (especially ones that change the network and disk stack) are installed. In this case, the solution was to change the order in which the software and accompanying device drivers were updated on the vDisk. Here is the procedure that worked for the client:

  1. Reverse image the vDisk
  2. Uninstall AppSense
  3. Uninstall PVS Target device drivers
  4. Install AppSense
  5. Install PVS Target Device Software
  6. Create a vDisk image

With this approach, the PVS drivers were removed from the image before AppSense was installed then later placed back onto the image after all the AppSense drivers and drive filters were installed. This completely solved the issue allowing the user profile customizations to be saved as expected. If you are creating a vDisk image from scratch, the installation order would look like this:

  1. Install Operating System
  2. Install virtualization tools (XenTools or VMWare Tools)
  3. Install AppSense
  4. Install PVS Target Device Software
  5. Create a vDisk image

With that, I wish you good luck. If you have comments feel free to add them below. If you found this article useful and would like to be notified of future blogs, please follow me on Twitter @pwilson98.