Windows 10 v1703 - Auto App-V unpublished package clean up

Earlier when we unpublish App-V packages it used to stay in the App-V cache location  and used to occupy unwanted storage space on the client machines. If we want to remove them to free up space we need to  do manual removal or using powershell command Remove-AppVClientpackage

With the release of the new windows 10 creators update v1703 App-V client provides options to automatically cleanup the unpublished packages.It requires restart.

This option can be enabled either by PowerShell or group policy or Registry.

PowerShell:


Open PowerShell as administrator and run the below code.

Set-AppvClientConfiguration -AutoCleanupEnabled 1

 


Run the below code to get the status.

Get-AppvClientConfiguration




Group Policy:

Go to Administrative Templates-System-App-V-PackageManagement-Enable automatic cleanup of unused appv packages and select enabled.

Registry:

HKLM\SOFTWARE\Microsoft\AppV\Client\PackageManagement
AutoCleanupEnabled 
REG_DWORD 1

Finally Microsoft have provided the much awaited feature to its users.

Remove all unpublished apps to clear package cache

Often I see queries related to clearing leftover package files after unpublishing them. And so here is a sample powershell code to remove all unpublished packages from the system to clear the space they were occupying in the package store.


$allpackages= Get-AppvClientPackage -all|Where-Object {$_.IsPublishedToUser -like "False" -and $_.IsPublishedGlobally -like "False"} | select Name

 $unpublished=$allpackages.name

 ForEach($package in $unpublished)

 {

Write-Host "$package"

Remove-AppvClientPackage "$package"

Write-Host "$package" removed.

 }

NOTE: Test the code in a lab environment, as it doesn't support any error handling.

The case of missing shortcut Icon - App-V 5.X

Recently I have been seeing many queries regarding shortcut Icon not displayed after publishing an virtualized App-V 5.x package. The answer would be quite simple. But I would like to demonstrate it with a simple example so that it can shed some light.


Let us assume a person X has sequenced an application say example Adobe Reader application. He is doing some manual clean up in the package editor. He removed some junk entries to keep the package clean. He also removed the Installer folder that has the installer cache (.msi, .mst, .msp)captured from the installer package as he felt it is also unnecessary junk entries like all others do.





After completing sequencing, he published the package to the machine in a standalone environment and saw that the shortcut icon is missing. He was wondering why the Icon is missing. He came back with a query as why the Icon is missing even after successful sequencing.





Now lets troubleshoot for him. First let's edit the shortcut for icon. We can see that it is looking in %ALLUSERSPROFILE%\Microsoft\AppV\Client\Integration\.....\SC_Reader.ico.





Lets take Procmon capture to get a proper solution. We can see that it is searching for SC_Reader.ico in  the Installer location and the path is not found clearly from procmon trace. When checked manually in the %Allusersprofile% we do see that the Installer folder is missing. This is because the person X has removed it from the package considering it as Junk entries earlier.





We can clearly see that after doing a fresh sequencing of the application that the Icon files are indeed kept in the Windows\Installer folder.





So to conclude do not remove files and folders blindly considering it as junk entries. Do not remove Windows\Installer completely. Perform cleanup with caution. Make sure if removing the Installer folder completely will not affect the functionality.