XenApp 6.5 Full Desktop – Hide PVS System Tray

While working on a new XenApp 6.5 Deployment with Citrix Provisioning Services, I noticed the Citrix PVS Target Tools icon in the system tray when connecting to a Full Desktop session, this could be confusing or useless information for users.


  • Windows 2008 R2
  • Citrix XenApp 6.5 Hotfix Rollup Pack 2
  • PVS 6.1.16
  • StoreFront 2.0


After researching the web a bit, I came across this HKLM key from Jack Cobben described in his blog Hide Virtual Disk Tray Icon where it simply stated to add the reg hive below.

HKLM\Software\Citrix\ProvisioningServices\Status “ShowIcon” (DWORD) 0

This however will disable to all users, even Admins, and I wanted to be able give administrators the option to see the icon.


Apply the HKCU key below to your profile solution  based on Group membership

Windows Registry Editor Version 5.00


Once that is in place the icon will go away.


Injecting drivers to your PVS image

Ok… so if you been working with XenApp for a while, well you know that PVS is an awesome way of distributing virtual apps to internal/external users.

I am proud to have worked in a very complex and demanding PVS environment where I learned a ton from.  To give you some history, we started with an ESX 3.5 XenApp environment and decided to go with PVS images as we were hosting over 400 XenApp apps.  Because of the success and demand for Apps, we decided to go physical rather than virtual in order to get more users per XenApp server. (I did try XenServer but it just did not compare to a physical server)

One of the best messaging engineers I had the pleasure of working with injected in my brain that I should always consider running a hybrid virtualization environment, meaning utilize virtualization as much as you can, but always think what would happen if your visualization layer goes down (Thank you Mike).  For a company where XenApp was the ONLY way of working remotely, and very crucial business units ONLY utilized XenApp for their everyday work, downtime was not an option.

Well with that thought in mind… How the hell can we make virtual XenApp VMs boot up on physical servers?  Let me tell you that this process can be tedious.

Now the article below assumes you already have a PVS image.  If your process includes updating the PVS device software taget.  Please read this good article from Citrix first.

Lets get started

1 ) Boot existing VM in standard mode with image that will be updated

2) Add drive to VM (this can be done while VM is powered on).  Drive must be larger than the used capacity of the vdisk to be imaged.  Below is a sample screenshot of a new F: added to the VM


3) Run BNImage.exe from C:\Program Files\Citrix\Provisioning Server.  Select new drive as destination for image


4) When imaging completes, set partition as active in device manager.  Shutdown VM.

5) Set Machine to boot from hard drive on provisioning server

6) Change order of disks on VM so new drive is SCSI 0: 0.  Cache Drive should be SCSI 0: 1

7) Boot machine from local disk

8) Add SCSI drivers to image for target device (not necessary for G6 – G7 since the SCSI controller is the same)

9) Remove current version of provisioning server software.

10) Upgrade VMWare tools to latest version

11) Remove VMware Tools, VMWare user process, SunJavaUpdateSched from windows run key (HKLM\Software\Microsoft\windows\currentversion\run)

11) Upgrade VM to hardware version 7 (this requires shutting down VM). Right click on the VM in the VI client for this option.

13) While VM is shutdown, Change NIC for VM to VMXNet3.  Update provisioning server with new MAC address

14) While VM is shutdown, Temporarily add additional disk to VM on SCSI bus 1:xx.  This will add an additional SCSI controller.  Select LSI SAS.

15) Power back on virtual machine.  VMXnet3 will be detected, and LSI SAS controller.  Add drivers for LSI SAS controller. – http://www.lsi.com/storage_home/products_home/standard_product_ics/sas_ics/lsisas1068/index.html

16)  Shutdown VM and remove temporary drive on SCSI bus 1:00.  Change first SCSI controller to LSI SAS.

17) Boot VM with Acronis CD – [CTXStore_UnProtected_01] AcronisBootCD.iso.  Create Acronis image of VM on Network location

18) Boot target physical machine with Acronis CD.  Copy image created from VM to local drive on server.

19) Set physical machine to PXE boot from provisioning server.  Set machine to boot from hard drive on provisioning server.  Attach blank PVS VHD disk to machine that image can be copied to.

20) Boot physical machine into OS on local drive.  Machine will hang for a few minutes on the login screen while drivers are loaded in the background.  If the machine is not yet accepting keyboard input just wait a few minutes.  Once drivers are finished loading, login.

21) Install Provisioning server target device software (5.6 SP2).   PVS_Device.exe

Once installed new PVS volume should show up right away without reboot (as long as the server was PXE booted).

22) Run Bindcfg.exe from C:\Program Files\Citrix\Provisioning Services\.  Select additional NICs to bind PVS to.

23) Verify registry keys in Citrix KB article after PVS target reinstall – http://support.citrix.com/article/CTX117374

22) Run BNImage.exe software to image local disk to provisioning server drive.

23) Switch server to boot from vdisk, confirm server boots correctly from vdisk