This issue absolutely did my head in. I had to publish it for you all to save you the time if you ever come across it as I was close to QUITTING because I couldn’t get this to work.
- Windows 2008 R2, Citrix XenApp 6.5 and Microsoft AppV 5 SP2.
- Applications published globally to the XA Servers
- All Servers streamed from Citrix PVS 7.1
- User profiles managed with Citrix User Profile Manager
This article for the Citrix UPM was already followed and the AppV Exclusions were definitely set
Some App-V packaged applications would launch once, then never again when the Package Installation Root was pointing to the Read Only PVS Image (%programdata%AppV) and ONLY when the server was in Read only mode. If I was editing the image in PVS maintenance mode to update the vDisk – the issue never presented itself.
Ideally I wanted the App-V cache to point to the ‘out of the box’ %programdata%AppV – and in conjunction with PVS you can guarantee its fresh everytime
A temporary work around was to move the Package Installation Root to the D: (Read Write Disk) < but we soon started getting errors with this as no amount of scripting and startup scripts would cleanly remove this directory 100% all the time. I.E:
Get-AppvClientPackage -All | Remove-AppVClientPackage
remove-item -Recurse -Force d:app-v
get-appvpublishingserver | sync-appvpublishingserver -Global
This script would only remove the currently published applications, too bad for any legacy packages that were no longer published to the servers,
and for whatever reason the SYSTEM account was unable to delete the d:app-v folder (access denied even though it was owner and had full rights) sporadically the folder wouldn’t update at all and no applications would be refreshed until a user logged into the server. (Poinless on a citrix server where the applications have to exist if delivered as published apps’ Citrix could not find / see the executable and the published app would not run.
Eventually App-V Clients services started failing unable to start.
The Microsoft App-V Client service terminated with service-specific error The system cannot find the path specified.. EventID 7024 (Update: After further troubleshooting it turn out this was because some of the legacy packages were referenced in the Windows registry)
There had to be a better solution.
Change the PVS 7.1 Disk Cache mode to “RAM with Overflow to Disk”, Return the Package Install Root to %programdata%AppV and generalise the AppV 5 Client before shutting down the image after each PVS update.
AppV 5 Generalise:
c:admintoolspstoolspsexec.exe -s powershell.exe “Get-AppvClientPackage -All | Remove-AppVClientPackage”
regedit.exe /s “C:adminToolsAppV_Generalise.reg”
Windows Registry Editor Version 5.00
Articles / References:
http://discussions.citrix.com/topic/348198-app-v-5-client-citrix-provisioning/ – Explains the situation clearly, and finally provided me the solution to fix it once and for all. Much thanks to Carl Fallis!
If you want to keep your App-V 5 cache clean (without permissions errors) and deploy App-V 5 packages globally very easily using only a file share (without the need for App-V 5 Full infra), take a look at the tool I wrote :
It’s PVS aware etc and this month a new version is released, which also adds a central management console to have a clear view on which packages are deployed on multiple machines. Invoke a deploy and remove packages remotely.
Hey mate, nice work on the AppV scheduler! Impressive stuff. A requirement of the project was that 1) apps aren’t baked into the image, and 2) that other support teams can deploy Appv packages to the estate via the AppV console.. Can your AppV scheduler remotely deploy Appv apps and new versions live?
Thanks men, yes App-V Scheduler compares packages on the share with packages already deployed on the machine and deploys only new ones during runtime. This is based on a configurable time interval.
When the machine reboots it clears the cache and deploys all the packages from the share. So you will always have a clean package installation root without old stuff and all packages available directly when the machine reboots. No needs for scripts etc.
Also the most important App-V 5 client settings like SCS can be directly configured from App-V Scheduler.
App-V Scheduler can also process pending tasks when a newer version of the package is deployed while the old one is still in use, App-V Scheduler will publish the new version automatically when the old one isn’t in use anymore without machine reboot.
The central management console will give insight in all packages deployed on multiple machines, from there you can remove packages and initiate a deploy to App-V Scheduler running on the machine to deploy new packages directly. So a single pane of glass of all packages deployed on your environment.
The console can be delegated to other departments, that’s the way we use it in other environments as well. They just place the updated or new package on the share and hit the deploy button.
The console can run on any machine, also on the Citrix environment itself. No need for App-V infra components.
If you got any questions please let me know.