This article details a general set of best practices for running the User Experience Virtualization (UE-V) 1.0 Generator. These guidelines are designed to ensure that the UE-V consistently captures settings and creates a template that can be successfully applied to machines in your environment.
General Workstation Requirements
The following settings are recommended on the computer or virtual machine where you will run the Generator:
Run the Generator on a machine with the same operating system and Windows service pack level as your destination machine if possible.
If you will be applying templates to different operating systems, run the Generator on the oldest operating system and service pack combination that you support in your environment. For example, if you are creating a template for both Windows 7 and Windows 8 workstations, you would run the Generator on the Windows 7 machine. This makes it more likely that the settings will apply to the application on both operating systems. If in doubt, run the Generator on both operating systems and compare the resulting XML template file. In some instances settings such as file storage locations or registry key settings may be different for the same application installed on different operating systems.
The operating system must have an NTFS file system.
PowerShell 2.0 and .Net Framework 4.0 must be installed.
The application(s) to be analyzed must be installed locally. The Generator cannot be used with applications virtualized with App-V, although templates created using locally installed applications will work with App-V 4.6 and 5.0 applications.
The UE-V Generator can be installed on the same machine as the UE-V Agent. There is no need to uninstall the agent.
Use a virtual machine for testing when possible. This allows you to create a baseline installation of the operating system and the UE-V generator. Applications can be installed and analyzed, then tested; if needed, the environment can be quickly rolled back.
Running the Generator
Use the following steps to run the Generator to create UE-V templates. Full details for running the Generator are available in the UE-V Admin Guide and Technet. Use the following generalized steps to create a UE-V template for the application:
Start the UE-V Generator.
When prompted, launch the application.
Make changes in the application to reflect typical user scenarios.
Close the application.
Inspect the resulting XML file. Verify file and registry paths.
Save the template and copy it to your catalog location.
Testing the UE-V Template
Log on to a second workstation and perform the following actions:
Launch Control Panel\Task Scheduler. Navigate to Task Scheduler (Local)\Task Scheduler Library\Microsoft\UE-V and right-click on Template Auto Update. Choose Run. Alternatively, you can run this command as the System account using the PSExec.Exe utility from http://live.sysinternals.com/psexec.exe. Open an elevated command prompt by right-clicking on a shortcut to cmd.exe and choosing Run as Administrator. Navigate to %ProgramFiles%\Microsoft User Experience Virtualization\Agent\<Architecture> (where <Architecture> is x86 or x64)and execute the command psexec /s ApplySettingsTemplate.exe. This will update the client with any templates stored in the UE-V settings template catalog path. This path can be verified by running the PowerShell cmdlet Get-UEVConfiguration. Note that ApplySettingsTemplate will generally successfully run successfully if ran from a local administrator account, but it is recommended to test as System in order to reproduce the security context that will be used for the scheduled command.
Verify that the template has been applied by checking for Event ID 1510 in the Microsoft-User Experience Virtualization-App Agent/Operational event log. You will see an event similar to the following:
Log Name: Microsoft-User Experience Virtualization-App Agent/Operational Source: Microsoft-User Experience Virtualization-App Agent Event ID: 1510 Task Category: Settings Template Catalog Processing Description: A change in the settings template catalog has been found. Settings location template "MicrosoftWordpad6" has been successfully added.
Launch the application and make a change in the user settings that you expect to be captured by the template. Important: It is necessary to make changes to the application settings in order to verify that the changes are detected correctly using the template information.
Inspect Event Viewer again and verify that the settings changes were detected properly by checking for the presence of event 2010:
Log Name: Microsoft-User Experience Virtualization-App Agent/Operational Source: Microsoft-User Experience Virtualization-App Agent Event ID: 2010 Task Category: Orchestrator Description: User settings for the settings location template "Microsoft Calculator" have been successfully uploaded to the settings storage location.
Connect to another workstation with the UE-V Agent installed, load the application, and verify that the application settings replicate correctly, using steps 1 -4 above.
Miscellaneous Best Practices and Troubleshooting Tips
It is recommended to maintain a test environment and deploy application templates to these machines before deploying to production.
When creating templates, it is preferable to specify exact paths rather than include the entire path using the <Path Recursive="true"> tag. This avoids scenarios where the template may inadvertently replicate large amounts of data from an application (for example, an application may create a folder for temporary files under its user settings folder in production that may not be useful on other client computers).
Investigate file and registry paths on typical user machines to estimate the size of data to be replicated.
Always test the application on all supported operating systems and service pack levels.
Re-test the template when applying major updates to an application such as application service packs or hotfixes are applied. Also verify that the application version has not increased; if it has, you may need to update your template to include this range.
Applications that use machine settings as part of their application settings will either need manual exclusions in the template XML or should be avoided entirely. This is especially true of machines that encode the MAC address or other hardware settings for use in encryption products or as anti-piracy measures. Replicating these settings may potentially render the software unusable.
Verify with the application vendor that replicating file and registry settings is a supported operation.
Avoid replicating databases and other transacted files unless the vendor supports file copy as a replication mechanism. Transactional databases (such as SQL Express and some browser’s configuration files) may require manual intervention to successfully move be between machines.
Most modern applications will store settings in predictable locations. For older or non-standard applications, you may need to contact the vendor to determine all paths to be captured. The Process Monitor tool from the Microsoft Sysinternals can be helpful in identifying folders and registry keys accessed by an application.
The UE-V Generator does not monitor either the Program Files (%programfiles%) or \Users\%UserName%\AppData\LocalLow folder. Application data that is stored in either of these locations usually should not roam with the user because this data is specific to the computer or because the data is too large to roam.
Avoid replicating extremely large files. The approximate size of the package can be determined by package data in the Settings Storage Path.