A new feature, that is only announced on Thamim Karims blog, is the pending state of the App-V 5.0 SP2 client. Previously I covered the new virtual extensions, the user interface removal and new config possibilities (packagestoreaccesscontrol, enable publishing refresh ux) as some great new possibilities for App-V that will greatly benefit everyone, however something that snuck upon is very late (as in when it went public) is the pending state.
So, what is a pending state for publish and unpublish?
Let’s review the output of PowerShell for our packages;
Get-AppvClientPackage -Name Microsoft* PackageId : a4b24f80-7fda-4735-86a2-6399fb77b6eb VersionId : 7ca886ab-66b9-45d5-b179-ae47ad71ff47 Name : Microsoft Frontpage 2003 Version : 0.0.0.1 Path : D:\storage\MSApp-V_5.0 SP2\Microsoft Frontpage 2003\Microsoft Frontpage 2003.appv IsPublishedToUser : False UserPending : False IsPublishedGlobally : True GlobalPending : False InUse : False InUseByCurrentUser : False PackageSize : 364618049 PercentLoaded : 100 IsLoading : False HasAssetIntelligence : True
As you can see there is the UserPending and the GlobalPending. I don’t think they relate to this, but they are an indication that something is up. A few other topics that are worth covering is the InUseByCurrentUser and InUse. These two (if set to True) gives the admin an inkling if the package is locked and can therefore not be updated – very frustrating if you want to push out updates.
Once we use the application – the state of those two values toggle.
In a pre-SP2 world, this would stop the package from beeing updated and we would simply have to force our users to close the application.
In a post-SP2 world, the App-V client gives us only a warning and an indicator that something will happen at a later stage;
Get-AppvClientPackage -Name Microsoft* | Unpublish-AppvClientPackage -Global Unpublish-AppvClientPackage : The target package is currently in use. The Unpublish operation will be attempted at a later time Operation attempted: Unpublish AppV Package. AppV Warning Code: 0200000515. Please consult AppV Client Event Log for more details. At line:1 char:42 + Get-AppvClientPackage -Name Microsoft* | Unpublish-AppvClientPackage -Global + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidResult: (:) [Unpublish-AppvClientPackage], ClientWarning + FullyQualifiedErrorId : UnpublishPackageWarning,Microsoft.AppV.AppvClientPowerShell.UnpublishAppvPackage
When is a later time?
It seems that if a package is published globally a later time means a reboot, and if the package is published to the user a later time means a logoff / logon operation.
Once a user logs on again, or if the computer is restarted the application is gone!
Since we get a warning, and not a success message, I would _assume_ that SCCM would need an update to handle this and that the native infrastructure can cope with this aswell.
UserPending and GlobalPending didn’t toggle at all during my testing. No idea what they are used for?