I’ve written and have been talking a fair bit recently on the need to consider a wipe-and-load approach to your Windows 10 migration. If you want to learn a bit more about why this is an important consideration, check out my blog on the subject.
Wiping the disk means the applications are all gone. If you implement an Application Mapping process within your Windows deployment process, you can ensure users automatically get the apps they need while eliminating software and version sprawl and standardizing on your corporate preferred apps at the same time. It can also reduce your software license liability, increase security (fewer old, unpatched versions lying around) and reduce support effort (maintaining a standard portfolio of known applications with consistent versions across the board).
What is Application Mapping?
Quite simply, it is automation that uses inventory information collected before the device is migrated, along with a mapping table that defines the identifier or command to install the ‘replacement’ application. The replacement may be the same application and version, a later version of the same application or a completely different application.
Application Mapping with Configuration Manager and MDT
Configuration Manager provides information of installed applications on each device through the v_GS_ADD_REMOVE_PROGRAMS view. If you’re using Microsoft System Center Configuration Manager with integrated Microsoft Deployment Toolkit (MDT) to automate your OS Deployment, you can use the MDT Package Mapping feature. The association between an inventoried application and the Package and Program that will install its replacement is defined in the PackageMapping table in the MDT database. Below is a sample extract from a PackageMapping table that demonstrates how the mapping can be used to ‘upgrade’ previously installed applications to the latest version, or to completely replace one application with another (replacing WinZip with 7-Zip in this example).
|Microsoft Project Professional 2007||CEN00011:Install Project Pro 2013|
|Microsoft Project Professional 2010||CEN00011:Install Project Pro 2013|
|Microsoft Project Professional 2013||CEN00011:Install Project Pro 2013|
|7-Zip 9.20||CEN00033:Install 7zip 15|
|7-Zip 15.14||CEN00033:Install 7zip 15|
|WinZip 10.0||CEN00033:Install 7zip 15|
|WinZip 12.0||CEN00033:Install 7zip 15|
|Adobe Reader XI (11.0.03)||CEN00044:Install Adobe Reader DC|
|Adobe Reader XI (11.0.07)||CEN00044:Install Adobe Reader DC|
|Adobe Reader XI (11.0.08)||CEN00044:Install Adobe Reader DC|
|Adobe Reader XI (11.0.12)||CEN00044:Install Adobe Reader DC|
When the OS Deployment Task Sequence runs, it executes a stored procedure that retrieves the Display Name of all the “Add/Remove Programs” rows for the device (using its MAC address for ID) from the ConfigMgr database. It then uses the ARPName column in the PackageMapping table as a look-up and sets Task Sequence variables to the corresponding Package:Program pair for each ARPName it matches. These variables are used to dynamically install the identified Programs later in the Task Sequence. As seen with the Adobe Reader example above, every variation of the ARPName must be added to the PackageMapping table for every application to be installed.
For more information on this MDT feature, check out Brad Tucker’s blog. If you are using ConfigMgr Applications (as opposed to Packages) to install software, check out Jason Sandy’s blog on modifying the process to work with Applications.
Application Mapping with 1E
1E’s Windows 10 Now solution combines application intelligence gathered by AppClarity (our Software Asset Management solution) with Shopping (our enterprise app store) to deliver an Application Mapping solution with the following benefits over the MDT solution.
- Like-for-like ‘replacements’ – e.g. simply reinstalling Project 2013 if it was previously installed regardless of usage – do not require specific mapping rules to be defined. You only need to define rules where you are upgrading the application or want to change behavior based on usage.
- Inventory data is normalized by AppClarity, so mapping rules are based on a specific Publisher, Product and Release (e.g. Adobe Reader DC) rather than individual “Add/Remove Programs” names with their minor versions or revisions, meaning there are fewer rules to manage.
- The replacement application in the mapping rules uses the “friendly name” you chose when you added the application to the Shopping portal for BAU self-service. This is already associated with the corresponding ConfigMgr Application or Package/Program that will install it.
- Mapping rules can include usage information provided by AppClarity to allow different choices based on whether the application was used or unused.
Below is a logical representation of the Application Mapping rules as used by the 1E solution.
|Existing Application||Release||Usage||Replacement Application|
|Visio Professional||2010||Used||Visio Professional 2013|
|Visio Professional||2010||Potentially Unused||Visio 2013 viewer|
|Visio Professional||2013||Used||Visio Professional 2013|
|Visio Professional||2013||Potentially Unused||Visio 2013 viewer|
|7-Zip||9||Ignore Usage||7-Zip 15|
|WinZip||10||Ignore Usage||7-Zip 15|
|WinZip||12||Ignore Usage||7-Zip 15|
|Adobe Reader||XI||Ignore Usage||Adobe Reader DC|
As Microsoft Visio is an expensive application, the administrator has chosen to only install the latest version if it was previously installed and being used. If it was potentially unused (no usage detected in the last 60 days), the free Visio viewer is installed allowing the user to at least open Visio drawings. If Visio was unused, nothing gets installed to replace it. Of course, if the user needs it back again any time later, they can request it through the Shopping portal and (as long as the request is approved), it will be automatically installed and ready for the user to work with in a few minutes.
Using the 1E Windows 10 Now solution with its integrated Application Mapping feature means you can rationalize your applications and stamp out version sprawl as a by-product of smart automation of the migration process, killing two birds with one stone.