As already mentioned on blogs from other community contributors, the APPVVE argument introduced App-V 5 is a very useful mechanism to launch locally installed programs inside a virtual environment of a App-V 5 package without having to make any modifications to that package.
I believe there are two common use cases for the APPVVE argument. The first would be troubleshooting a Virtual Application, simply snooping around inside the virtual environment and see how the application is seeing things.
The second is a bit more specific but you are able to launch specific programs inside a Virtual Application Package, where for instance the “launching” executable is installed locally, but a required part of the application (or a completely other application) is virtualized using App-V 5.
You have sequenced a plugin for Internet Explorer that is required for a legacy internal web application.
Any “normal” launch of Internet Explorer on the clients will not use this plugin, obviously.
Now you need to retrieve the PackageID and VersionID from the virtual application package of this plugin. You can find this in the App-V Management Console or use the appropriate PowerShell commands.
Now create a shortcut to Internet Explorer appending the /APPVVE argument, PackageID and VersionID as in the example below (don’t forget the underscore):
The appending of the /appvve argument to an executable obviously only works if the App-V 5 client is installed.
The /appvve:PackageID_VersionID argument will automatically be stripped from the launch and thus not passed to the launching executable.
However, if the PackageID_VersionID is incorrect or simply not available for the user/on the client, the argument is NOT stripped and IS passed to the launching executable, which in turn will have no idea what to do with that argument.
I was not able to find any Microsoft documentation about the /appvve argument, keep this in mind from a support perspective.
In addition to the /appvve arguments there are two other arguments to get inside a virtual environment.
/appvpid is very useful to do some quick troubleshooting on a client. It does exactly the same as the /appvve argument, but it’s easier to use since it only requires you the specify the process ID (PID) of a process running in a Virtual Environment.
So launch a virtual application, check in task manager what the PID is, and then run any EXE appending the /appvpid argument as following (I’m pretending the PID is 2022):
/appvrunningve is less useful and very specific. It does and is invoked exactly the same as the /appvve argument, but it will only run/work if the Virtual Environment of the corresponding PackageID_VersionID is already running. At the moment I don’t have any useful examples for you.