Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

How To Use Microsoft User Experience Virtualization With App-V Applications


Summary

Microsoft User Experience Virtualization (UE-V) supports Microsoft Application Virtualization (App-V) applications out of the box, without the need for any modifications to either the App-V package or the UE-V template.  However, an additional step is needed since you cannot run the UE-V Generator directly against a virtualized App-V application; you must first install the application locally, generate the template, then apply the template to the virtualized application.  UE-V supports both App-V 4.5/4.6 and App-V 5.0 packages.

↑ Back to the top


More Information

To implement UE-V for App-V applications, use the following steps:
  1. Run the UE-V Generator against a locally installed application to create a settings location template.  If you are using a built-in template such as the Microsoft Office 2010 template, you can skip this step.
  2. Install the App-V application package if you have not already done so.
  3. Publish the template to your Settings Template Catalog Path or manually install the template using the Register-UEVTemplate PowerShell cmdlet. Note:  If you publish to the Settings Template Catalog Path, the client will not receive the template until the "Template Auto Update" scheduled task runs (3:30 AM by default).  To manually start this process, open Task Scheduler, Expand Task Scheduler Library\Microsoft\UE-V, then right-click "Template Auto Update" on the right-hand pane and chooseRun.
  4. Launch the App-V package.

To test replication, make a settings change in the App-V application, exit the application, then launch the application on a second machine that has the UE-V Agent installed and the template from step 3 configured.

How UE-V Interacts with App-V Applications

UE-V monitors for process launch by executable name and optionally file and product version numbers.  The executable may be either locally installed or virtualized via App-V.  When the application is launched, UE-V injects its agent DLL (Microsoft.Uev.AppAgent.dll) in to the App-V process, applies any settings stored in the user's Settings Storage Path, then allows the application to launch normally.  UE-V is aware of App-V applications, and will automatically translate the relative file and registry paths to the virtualized location (as opposed to the physical location outside of the App-V environment).

For example, assume that an application named MyApp.exe has been virtualized using App-V 5.0 and has a UE-V Settings Location Template like the following: 

<?xml version="1.0"encoding="utf-8"?>
<SettingsLocationTemplate xmlns='http://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate'>
  <Name>MyApp</Name>
  <ID>MyApp</ID>
  <Version>1</Version>
  <Processes>
    <Process>
      <Filename>MyApp.EXE</Filename>
      <ProductVersion>
        <Major Minimum="1"Maximum="1" />
      </ProductVersion>
    </Process>
  </Processes>
  <Settings>
    <Registry>
      <Path Recursive="true">Software\MyApp</Path>
    </Registry>
  </Settings>
</SettingsLocationTemplate>

When MyApp.exe version 1.0 launches inside the App-V bubble, UE-V will inject its Agent DLL in to the process and check for a settings storage package.  If a package exists, UE-V will then make a call to apply the registry settings to HKCU\Software\MyApp.  App-V will automatically translate this to its virtualized location (for example, HKEY_USERS\S-1-5-21-11111111-222222222-22222222-55555\Software\Microsoft\AppV\Client\Packages\F0790437-0020-407B-ACFB-C81A4E05681\REGISTRY\USER\S-1-5-21-11111111-222222222-222222222-55555\Software\MyApp).  On exit, any changes to HKCU\Software\MyApp will be written back to the Settings Storage Path.  Monitored files work similarly.

Note:  Do not attempt to capture any paths under HKCU\Software\AppV in a UE-V template.  These paths are already translated when App-V sees that a reference to the path has been accessed.  Attempting to replicate data in this path will result in a subkey being created under the Software\AppV key that references an incorrect path and will result in the application not seeing its replicated data correctly.

↑ Back to the top


Keywords: kb, vkball, kbtshoot

↑ Back to the top

Article Info
Article ID : 2850582
Revision : 2
Created on : 3/27/2020
Published on : 3/27/2020
Exists online : False
Views : 113