So the App-V client has some hidden registry keys to disable the different subsystems globally and this can be very useful.
Some App-V packages come with fonts and usually you don't want to have them. Why not save yourself some work and just disable the whole subsystem globally? The same applies to the services subsystem. If the "Virtual Services" switch is set to REG_DWORD #1, services in the App-V package are no longer virtualized. For example, the following call shows no more virtualized services in the App-V package:
Services these are usually not needed and save us the effort to delete them from the packages. Additionally, disabling some subsystems means a small performance boost when starting applications that use such subsystems.
The keys can be used for troubleshooting or to quickly test if a certain subsystem is necessary for an App-V application.
The registration keys are only effective after restarting the App-V service. This can be done after setting a key with the following PowerShell command:
Restart Service AppVClient
Integration REG_DWORD=1: Responsible for created shortcuts and the integration point in the user profile. If the key is active, no junction is created for a package under "%localappdata%\Microsoft\AppV\Client\lntegration" or the global integration point. The package will still work. For example, the switch is good for a publication on a terminal server where no icon should be created and the start is done for example via a Citrix or remote app mechanism.
Virtual Fonts REG_DWORD=1: The Virtual Fonts key disables the fonts subsystem with which a virtual application can use additional fonts from the package. We just had a problem with the App-V Edge package. There the subsystem had to be deactivated. Why not just disable everything globally?
Just-in-timeVirtualization REG_DWORD=1: Responsible for ActiveX and browser objects
Virtual Registry REG_DWORD=1: Disables the registration in the App-V packages
Virtual Filesystem REG_DWORD=1: Disables the VFS for all packages It is always exciting to see which applications work nevertheless.
Virtual COM REG_DWORD=1: Globally disables the App-V Com subsystem
Virtual Objects REG_DWORD=1 Disables virtualization of global objects
Virtual Environment REG_DWORD=1: disables management of environment variables in the package
Registry Staging REG_DWORD=1: This is the mechanism used in App-V connection groups to stack several regiostats on top of each other
Virtual Services REG_DWORD=1: Here you can globally disable services in the App-V package. If the switch is set back to "0", the services are available again after restarting the "AppVCLient" service. So nothing is permanently deleted.
Virtual Shell REG_DWORD=1: Disable the shell extensions
As I said, I was very surprised that such a useful thing exists. Is there a need for an ADMX file? Please write me something about your experience with these registration keys. Where can you optimize? What performance boost does the global deactivation bring?