Tuesday, 3 June 2014

Simplifying Windows Migrations using ImportData

AppSenseSpecial, Helper Applications, Migrate Mode, EMPFileUtil and EMPRegUtil are names of a few of the tools / techniques available to AppSense Engineers looking to configure migrations from a local or roaming user profile into AppSense Environment Manager.

Each of the techniques above has its pro's and con's and use cases on where you would want to implement this. For example, if a customer wasn't looking to deploy the Environment Manager Agent to a legacy estate but still wanted to import crucial file and registry settings for applications like Office or Internet Explorer I would simply create a logoff script to export the data and use the helper applications method (described in a previous post - http://uvarchitect.blogspot.co.uk/2013/01/using-appsense-environment-manager-to.html) to migrate these settings.  If a customer was deploying the Environment Manager Agent I could use AppSenseSpecial or even Migrate Mode to import these settings into the AppSense Environment Manager Database. 

Each of these methods took time to identify the settings required, configure the necessary actions and then perform the migration. That was until recently... Landon Winburn has created an even easier and painless way of performing migrations... Enter ImportData.  
ImportData is an AppSense Exchange tool that effectively turns application setting migration into a relatively easy and painless task.

Simply download the tool from the AppSense Exchange and host this on a file server within your organisation that the end users who you will be migrating into Environment Manager can access. 

Next make a separate copy of the ImportData.exe file for each application you wish to migrate. In the example below I am going to migrate Microsoft Office 2003, Microsoft Office 2007, Microsoft Office 2010, Microsoft Office 2013, Internet Explorer and SAP Gui:


Now simply define each of these executables as user applications within the AppSense Personalization Server and add these user applications to the appropriate application groups as seen in the example below:


Once this is done you simply need to create an Environment Manager policy configuration that will run on each endpoint that is being migrated into the new platform which will force the ImportData_AppName.exe executables to run for the end user:


One thing to note is that ImportData currently has 4 switches (or modes):

ImportData_AppName.exe will migrate settings defined within the application group ONLY if migrate mode is enabled on the users Personalization Group.

ImportData_AppName.exe -F will migrate settings defined within the application group regardless of whether migrate mode is enabled or not. 

ImportData_AppName.exe -E will export settings captured within the application group to the local profile. This can then be used to import into a different application group, cleaned up and then re-imported into the same application group or any other operation that can't easily be achieved against the virtual registry and file system.

ImportData_AppName.exe -R \\SERVER\SHARE\%USERNAME% will import settings from a users roaming user profile into Environment Manager Personalization Server. Using this switch requires ImportData_AppName.exe to run in an elevated mode (using AppSense Application Manager or another privilege management solution) because this mode needs to mount the users roaming profile and then copy the registry keys and values from there. 

These switches allow you to build relatively complex condition statements. In the example below I am performing a migration for Microsoft Office 2010 however the migration needs to take into account that the end user might have previously been using Microsoft Office 2003 or Microsoft Office 2007: 


Massive thanks to Landon for creating, maintaining and supporting this tool. If you have any questions regarding this please post them on the AppSense Exchange Forum which can be found at the following URL:


Anyone who needs access to a sample migration configuration can download and use snippets from the Migration Examples configuration which can be found at the URL below:


As always, find me on twitter

@UVarchitect