Microsoft UEV 1.0 uncovered (part one)
Microsoft UEV could be called as “just another profile management solution”. I agree it’s a bit late for MS to publish the solution as there are vendors like Appsense or RES, which focus on user virtualization and user workspace management since many years with success. In the meantime UEV can be a value add for customers which think traditional roaming profile just suck, but don’t want/can spend a fortune for a high end solution… and… It’s included in MDOP 2012. For an overview about UEV I’d like to refer to a geek mate of mine, Helge Klein. Find his article here.
I wanted to dig a bit deeper and find out how UEV is working under the hood.
Disclaimer:
At the time I wrote this article I did not find any official documentation on the application architecture of UEV 1.0. All stuff I’m sharing is based on own reverse engineering and may not be 100% correct.
Components involved
Component | Description |
Microsoft.Uev.AgentDriver.sys | File System Filter Driver |
AgentService.exe | UEV Agent Core Service |
UevTrayApp.exe | |
mavinject64.exe | Usermode process launched by AgentService.exe which Injects into application start / stop sequence. It reads settings from the package file at startup and injects them into the real registry. When the application is shut down it injects again and reads from the real registry to save the settings in the package file. |
mavinject32.exe | Same as mavinject64.exe but for 32-bit processes. |
Microsoft.Uev.AppAgent.dll | |
ApplicationXXX.xml | XML Application Settings Template containing HKCU Keys and Folders from User Profile to capture |
ApplicationXXX.pkgx | Binary Application Settings Package File containing the settings. It can be extracted to plain XML by using the PS CMDLETExport-UevPackage |
Service Architecture
Settings that are captured
- HKCU Registry Hive
- Folders and Files in %USERPROFILE%
How to exclude / include file types
Currently UEV only includes an exclusion filter for file types. To edit or add additional excluded file types you have to edit the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UEV\Agent\Configuration\ExcludedFileTypes
Unfortunately I didn’t see any possibility to manage the exclusions centrally.
What about App-V?
For more information about App-V service and process inclusions refer to this post:
Current Limitations
- The UEV Agent is not able to capture files and folders outside the %USERPROFILE% directory
- Restoring of application settings to initial values across multiple machines is not possible because the initial settings are stored under:
%USERPROFILE%\APPDATA\Local\Microsoft\UEV\%COMPUTERNAME%\TemplateName\ - There is no history of the settings to roll them back to a certain date
###
UEV Resources
UEV Agent Registry Settings
http://support.microsoft.com/kb/2770042
UEV on Technet
http://technet.microsoft.com/en-us/library/jj680015.aspx
Installing UEV Group Policy Templates
http://technet.microsoft.com/en-us/library/jj679980.aspx
Managing UE-V 1.0 Settings Location Templates Using PowerShell
http://technet.microsoft.com/en-us/library/jj679987.aspx
UEV Configuration Template Gallery
http://gallery.technet.microsoft.com/site/search?f[0].Type=RootCategory&f[0].Value=UE-V
How To Enable Debug Logging in Microsoft User Experience Virtualization (UE-V)
http://support.microsoft.com/kb/2782997