Microsoft User Experience Virtualization (UE-V): Facts and Review
16 years after roaming profiles made their debut in Windows NT 4.0 Microsoft takes another stab at synchronizing user settings across devices – a very different one. As we will see, UE-V is radically different from roaming profiles, but so similar to some other user environment management products that it seems like a best-practices implementation.
Overview
User Experience Virtualization (UE-V) will be part of MDOP. It manages user settings only, not data files. Microsoft wants you to use their Folder Redirection and Offline Files technologies for data.
Templates
In contrast to roaming profiles, where everything roams by default (with the exception of a single directory, AppData\Local), with UE-V nothing roams unless specifically included in so-called templates.
A template is an XML file that describes where settings are stored in the file system and in the registry. Typically one template per application or Windows component is used.
UE-V comes with the following ready-to-use templates:
Application Settings:
- Office 2010 (Word, Excel, Outlook, Access, Project, PowerPoint, Visio, SharePoint Workspace, InfoPath)
- Internet Explorer 8, 9 and 10 (favorites, home page, tabs and toolbars)
- Windows applications (Calculator, Notepad, Wordpad)
Windows Settings:
- Themes (desktop theme including background, color, sounds and screen saver)
- Start menu
- Taskbar
- Folder options
- Region / language settings
- Ease of access (accessibility and input settings)
Template Creation
The problem with a product working with inclusions is, of course, that you need to tell it exactly where the settings are stored that you want to roam. In other words, you need to create template files for every application. Microsoft knows that very well, of course. To ease the pain UE-V comes with an application simply called Generator (which is, by the way, remarkably similar in functionality to sepago’s PMAppMon; UE-V’s monitoring component even has nearly the same name: AppMonitor).
When you work with Generator, it starts the application you want to create the template for, monitors the file and registry locations accessed by the application, and creates the XML template for you. You should be aware that manual editing of the result will in most cases be necessary.
Generator can be installed independently of the agent.
Template Storage
Any templates you create need to be made available to all machines where UE-V is used. The easiest way to do this is to specify a template catalog path, which is just another word for a file share. Alternatively, PowerShell and WMI can be used to register new templates.
Agent and Infrastructure
UE-V does not require much of an infrastructure. Its agent must be deployed on every machine where users log on and settings are to be managed. Apart from that you only need a file server to be used as settings storage location. If no storage location is specified, the user’s home directory is used. This is similar to the way Citrix Profile Management works. This architecture has the advantage that initial deployment is quick and straightforward because there are no complex back-end services to configure.
The agent configuration can be centrally managed via Group Policy (as of beta 2).
Offline Usage
UE-V can be used on mobile computers if the settings store is made available offline through Windows Offline Files. In offline or slow-link modes, changes are stored in the local offline files cache, which in turn is synchronized with the file server. Combining UE-V with Offline Files is a clever move, as it provides offline functionality at no cost, but I wonder how synchronization conflicts are handled that arise if one set of settings is modified both on a laptop and a terminal server at the same time.
See my article Windows 7 Offline Files Survival Guide for more information about Offline Files.
Triggers
In contrast to roaming profiles, where the entire profile is loaded at logon time, UE-V only loads settings when it needs them. Windows settings are loaded during logon, unlock and remote session connect, but application settings are not loaded until the moment an application is actually started. Similarly, settings are stored when applications are closed or the user logs off, locks the screen, or disconnects from a remote session. These events that cause UE-V to load or store settings are called triggers.
Application start and stop triggers allow for a very cool demo: have two sessions side by side. Show that Word is configured similarly in both sessions. Run Word in session 1, change some settings, and close the application. Then start Word in session 2 and demonstrate how the changed settings are “magically” present.
Supported Operating Systems and Application Delivery Methods
UE-V is supported on Windows 7, Windows 8 (client and server, but almost certainly not on Windows on ARM), and Windows Server 2008 R2. It can be used in place of roaming profiles in most if not all situations where roaming profiles are used today. UE-V works with Remote Desktop Services, and, this is notable, with App-V: it can synchronize settings between a virtualized and a natively installed version of Outlook, for example.
Rollback
Settings can be reset to a pristine state – per application. This is a very powerful feature that could help reduce profile deletions, a much too popular tactic amongst administrators, employed if an application suddenly works strangely for a user and no one has time to really troubleshoot the issue.
Virtualization?
Although UE-V has the “V” in the name, it does not virtualize settings. It merely synchronizes files and registry keys between computers, where they are injected into the regular user profile. As such, it does not replace traditional user profiles, but it may be used in place of roaming profiles (given a sufficient amount of custom templates).
Neither does UE-V migrate settings between application versions that store their settings differently, e.g. Office 2007 and Office 2010. It merely replicates changes in the file system and the registry, without interpreting the data.
Finally it only works with settings stored in the user profile. Data located outside of C:\Users\Username cannot be managed by UE-V.
Conclusion
UE-V is late to the party, very late. In the terminal server world, where profile issues have been pressing for more than a decade due to the statelessness of the servers and the tendency to use multiple concurrent sessions per user, an entire ecosystem has evolved over the years with different vendors that each offer their own variant of settings synchronization and profile management. That is about to end.
Citrix started the consolidation in the profile management space when they bought sepagoPROFILE (which I architected) in 2008. VMware followed in 2010 with the acquisition of RTO Software. Another 2 years later Microsoft unveils UE-V.
Now that profile management is baked into the OS and available from Citrix and VMware for their respective platforms it will be next to impossible for most vendors to survive. As always in such cases, this is mostly good for the customer, who gets a product that is good enough for most scenarios, but bad for ISVs.
The thing that is missing most, application templates, can easily be provided by Microsoft’s vast community. If Microsoft does not do it, someone else will set up a template sharing site with user ratings and community reviews (hint, hint).
26 Comments
Wow ! Very useful review…good to know…before trying out the product
UE-V solves a real problem. Agree it’s very late, wish it was there in the XP timeframe. Microsoft should make MDOP available to more businesses outside of volume licensing.
Hello Helge,
thanks for the review.
Very good article.
Kind regards
Thorsten
Thanks Helge
A very efficient review. I agree that it is a bit late for MS to release the product. But beside Appsense and Citrix customers have now a third option which is in my opinion, easy to handle while it covers 80% of most customers needs. It could be a real option for customers which don’t like / can spend Appsense licences but neither want to use Roaming Profiles. It’s worth to give it a try I guess :-)
Rgds
Michael
I agree, it could be a real option for many customers. It will be interesting to see if and how Microsoft evolves the product.
Can only get UE-V to work if I enable offline files on the computer. If I disable offline files through GPO it will not sync the settings. In our environment I only want to enable offline files on laptops as it is unnecessary on desktop computers imo.
Anyway around this?
Settings are stored in each user’s home directory if no settings storage path was specified. Check the storage path in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UEV\Agent\Configuration.
very promising. In my testing so far it seemed the SettingsStorage Path could be changed dynamically and the uevagentservice would use the path immediately.
Regional Settings/input locale are not included in the Windows Settings template?
Read “Support UE-V Synchronization with Offline Files Disabled” in the AdminGuide.pdf
Appsense and RES are doing UE-V for lang time. Microsoft UE-V is only aviable in MDOP, in other word not for small business, but for software insurance…..
Very good review !
I didn’t find in any doc when and where you must use UE-V Generator when you want to build an App-V Template : during sequencing in the Sequencer or during the app launch on an App-V client ?
App-V and UE-V are separate products.
I want to know this command correct or send how to install UE-V agent
AgentSetup.exe /norestart /l*v %temp%\UE-
VAgentInstaller.log” SettingsStoragePath=\\FILE-
SVR\ParkCity\%chanukag%
Helge,
Nice article. I was already planning to play with UE-V as it gets closer to release because I like profile approaches that overlay *selected* saved settings on top of a fixed base profile (such as the old Flex Profile Kit and UE-V) rather than a “capture (almost) everything” approach of such products as AppSense Environment Manager’s User Personalization or the Citrix UPM. Now, I know you architected the latter and it is as a result an excellent product, and it *can* be configured to only process (save) selected items rather than the default “everything except exclusions”, but it seems to lack (and *please* correct me if I’m wrong) the ability to merge an updated template profile with the saved UPM Profile contents: the template profile is copied to the store once only during the user’s first logon and changes are thereafter merged into the store at every subsequent logoff. If the administrator changes the contents of the template profile (new/updated Registry entries, updated config files, etc), only brand new users will benefit (unlike the “mandatory profile + saved settings” strategy). Since the original template profile and all subsequent changes exist in the store in a merged state, the option to make use of an updated template profile can apparently never be made available (unless the base template and the changes are saved separately in some future version). So the administrator now has to somehow retrofit all the existing cached profiles (via GPP? scripts? …?).
I hope UE-V will be free of “gotchas”, but I’ll probably be steering clear of the “community contributed” app templates: you never know what the lunatics out there think is important to save! :-)
Jacques.
Your description of Citrix PM and the template profile is correct. It was not designed as a base profile to be merged with each individual user’s deltas. The architecture of the product is different. That has advantages and disadvantages, like every other architecture.
Hi Helge,
Joining Jacques –
I recall that the first versions of UPM already had the ability to use mandatory profile as a constant template and that it was later removed from the product.
May I ask why?
I had several extremely successful implementations using this approach and enjoying UPM’s native speed and robustness (as opposed to shell scripts..).
I know it not a good fit for many environments and certainly does not align to the new and open “user can have everything” approach Citrix is touting but for those environments it did it literally made profile issues a thing of the past and it is very unfortunate that we can’t replicate that success for our customers with current versions of UPM.
Am eagerly waiting to hear your thought,
Ron Kuper
I have replied: https://helgeklein.com/blog/2012/12/citrix-profile-management-architecture-why-it-is-not-based-on-a-mandatory-profile-any-more/
One big problem with ue-v is the license. It sits in MDOP, so you need SA. That’s pretty expensive.
And how is it licensed for RDP (when I have Linux thin clients)?
From my understanding the connecting device must be covered (i.e. have MDOP and SA).
I am dissapointed about a change with beta 2:
With beta 1 it was possible to synchronize Settings to a mapped Netware HomeDir.
It seems a verification of the owner SID has been introduced with beta2.
In the UEV operational EventLog i find: “The currently logged on user is not the owner of the settings storage path folder u:\SettingsPackages. To correct this problem, delete the hidden folder SettingsPackages in path u:\ and log off the current session and then log on again.”
You can reproduce in a windows environment if you recreate a user.
I assume it also would also not be possible to use SkyDrive to synchronize settings.
It would be nice to have a Setting to ignore the Owner SID…
Is UEV capable of syncing data between arcitecture? Could you have a 32-bit app on a X86 and X64 machine and expect it to place the registry file settings under SysWOW6432Node? If not, then is it standard practice to move the evironment to a single architecture when roaming settings between Citrix and the clients desktop? Thank you.
I would recommend using the same architecture when roaming settings between computers. For some more thoughts on this topic see this article: https://helgeklein.com/blog/2010/10/can-i-use-the-same-user-profile-on-32-bit-and-64-bit-windows/.
Thank you for preparing and publishing this article. It’s excellent have access to this expert analysis with specific technical detail rather than just “marketing brochures” published by Microsoft with no real details about features & capabilities.
Seems interesting, I’ve been implementing AppSense for close to 2 years now and have yet to see a product that is as versatile. How does this product function with applications that share user settings? I’ll wait until I see some validation in how this scales out and functions in an environment with varied architecture and applications.
Thank you for this nice article but why aren’t you handling RES Software Workspace Manager and AppSense in this article?
you only mention Citrix and Vmware but RES Software and AppSense doing this for a very long time now and much better then UEV. RES Software Workspace Manager even offering predefined templates and much better ways to let the system take samples of the provided executable etc. This was the reason why we decided to use RES Software in the first place.
Aha! Been scouring the web for info on what UE-V is, and how it is different from roaming profiles. This is the first piece that actually answers my questions. Thank you!