App-V 5: Be Careful Toggling Shared Content Store Mode

One of my colleagues in support let me know of an important note for those upgrading to App-V 5.0 Service Pack 2 Hotfix 4. It appears that the value for Shared Content Store (registry value SharedContentStoreMode in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Streaming or the same option using Set-AppvClientConfiguration) can be set back to 1 from 0 thus turning it off. If you have not yet upgraded to Hotfix 4 and are planning to, you will need to ensure that this value get reset after installing the hotfix prior to rebooting the App-V client post installation. If you are currently using Shared Content Store Mode, and this value gets set back to 0, some interesting things may happen. This will likely not be a factor if you are controlling the configuration of your App-V 5 client through Group Policy.

 

To tell if a value is controlled by policy, you can quickly run the Get-AppVClientConfiguration –Name SharedContentStoreMode to check the SetByGroupPolicy value.

New Launches Will Stream to Disk

This is the most obvious change and you will likely notice this by seeing the streaming progress indicator which was not used when running in Shared Content Store mode.

You may also find Packages Start Magically Populating in the App-V Cache

You will notice that the sparse files in the PackageInstallationRoot may start populating. This is because the Autoload setting which was ignored while running under Shared Content Store mode is now in effect. The Autoload value is in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Streaming and has the following possible values:

  • 0: Disabled

  • 1: Previously Used Packages only (Default.)

  • 2: All Packages

Since 1 is the default, and the packages were already previous launched, guess what? Yes, they will start background streaming which is why those sparse files are populating. All packages under HKLM\Software\Microsoft\AppV\Client\Streaming\packages that have PreviouslyUsed set to 1 will background stream.

Setting it back to 0 Alone may not Fix Everything

Once a client is in Shared Content Store Mode, you can easily stream to disk overriding it on a per-package basis by pre-caching the application using the Mount-AppvClientPackage powershell cmdlet. In addition, when applications are launched and the PackageState value stored under HKLM\Software\Microsoft\AppV\Client\Streaming\Packages is set to 3, it will still launch from the cache. It will also likely continue streaming if the StreamedBytes value is populated.

The values under HKLM\Software\Microsoft\AppV\Client\Streaming\Packages are great for troubleshooting and debugging, but if you want to revert these packages back to proper functionality under Shared Content Store mode, I would advise you remove the packages and republish them (or resync with the publishing server after removing the packages depending on how you are delivering the applications.) Modifying these values directly can be dangerous and may yield undesirable results which would require you removing and republishing them anyway.