I just sequenced an application (Epic) and it puts two folders on the root of the C drive. C:\Epic and C:\Crashdumps. When I published the application to our Citrix servers the application failed to launch. Procmon’ing it I saw that Epic was unable to find C:\Epic. I opened a command prompt and tried to cd /d C:\Epic which failed. On a hunch I tried cd /d D:\Epic and lo and behold it was successful and I was put in that folder. I investigated this and created a package with two folders on the root of the C:\. They were C:\test and C:\test_happy_folder. When I published the package on our Citrix servers I could not cd into them on the C:\ drive but I could because they were on the D:\ drive. Examining the package it showed:
Why was it going to D:? We have our servers setup so that the PackageInstallationRoot registry key points to the D:.
When I changed PackageInstallationRoot to be C:\AppVData\PackageInstallationRoot I could then cd /d C:\Epic without issue. This is unfortunate but I do not think this was the expected behaviour because we sequence to C:. To fix this I set the PVAD to C:\Crashdumps (which does expand out to the C: when specified in the sequencer, not the D:) and moved the C:\Epic folder to within a tokenized folder (programfiles\Epic) which correctly expands out to C:\Program Files\Epic. I then needed to hunt down all config files and scripts that point to C:\Epic and update them to point to C:\Program Files\Epic. Unfortunately, I do not know of a way to modify AppVPackageDrive to a drive letter without changing PackageInstallationRoot because I would love for my sequenced applications to stick to C:\ so I don’t need to do any workarounds.
Essentially, I guess what I’m saying is I hope AppV 5, sometime in the future, allows you to either hard code the AppVPackageDrive variable to a specific drive letter, or use some other tokenized variable that points to a specific drive letter ({CDrive},{DDrive},{EDrive},{FDrive}, etc.)
Pingback: AppV5 – When Application Compatibility Toolkit doesn’t work – TheoryPC Blog