FKreisWie in einem anderen Artikel bereits beschrieben, kann es bei der Bereitstellung von App-V Paketen auf provisionierten Servern zu Problemen (Appcrash) kommen, sofern man nicht die Funktion "Cache in Device RAM with Hard Disk Overflow" des Provisioning Servers nutzt oder den App-V Cache auf das persistentes Laufwerk auslagert.
Macht man letzteres muss sichergestellt sein, dass der App-v Cache nach jedem Reboot des Servers gelöscht wird, da es sonst zu Problemen beim Import der Pakete durch den App-V Client kommt.
http://blogs.msdn.com/b/sgern/archive/2014/05/26/10528435.aspx

Leider ist es nicht möglich, den App-V Cache (in unserem Fall "D:\App-V") so ohne weiteres bei jedem Neustart zu löschen, da dem SYSTEM Konto teilweise die entsprechenden Berechtigungen fehlen (Access denied).

image001

Auch „Jeder“ hat nur eingeschränkte Berechtigungen.

image003

Denkbar wäre es nun, ein Powershell Skript beim Neustart des Servers ausführen zu lassen, welches erst die entsprechenden Berechtigungen setzt, den App-V Cache Order löscht und dann die Pakete importiert:

cmd.exe /C "icacls.exe D:\App-V /T /grant:r jeder:(OI)(CI)F"
cmd.exe /C "echo y | rd D:\App-V /s"
Get-ChildItem "\\appv_server\appv_share" -recurse -force -include *.appv | Add-AppvClientPackage | Publish-AppvClientPackage –global

Da das Setzten der Berechtigungen je nach Anzahl der Pakete recht lange dauern kann, könnte man auch ein Skript ausführen lassen, welches die Pakete vor dem Neustart entfernt.

Get-AppvClientPackage | Unpublish-AppvClientPackage -Global | Remove-AppvClientPackage

Möchte man nun auf Nummer sicher gehen, verwendet man beide Skripte. Eines welches beim Herunterfahren des Terminalservers die Pakete über den App-V Client entfernt und eines, welches beim Neustart des Servers eventuelle Reste im App-V Cache Ordner löscht und die Pakete neu importiert.