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:
- Reverse image the vDisk
- Uninstall AppSense
- Uninstall PVS Target device drivers
- Install AppSense
- Install PVS Target Device Software
- 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:
- Install Operating System
- Install virtualization tools (XenTools or VMWare Tools)
- Install AppSense
- Install PVS Target Device Software
- 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.
the_darke
2011/01/12
Hi VJ
Great Blog. Small question about the post- which version of EM and the AMC were you using?
Virtualization Jedi
2011/01/18
Good question. We were using version 8.0.714.0. We had tried several privates code releases as well sent to us by AppSense in an effort to fix the issue while we were troubleshooting, but changing the install order fixed it all.
nonu16
2011/02/12
How much of the advantage are you guys getting using performance manager? and how are guys able to manage the Performance manager cache which gets created on the C Drive.
Virtualization Jedi
2011/02/16
At this point, the entire AppSense environment is getting reworked in preparation for a Windows 7 rollout, so all the configuration is not yet complete. The configuration of Performance Manager is actually being handled by a different team. I will have them see if they can post back to answer your question.