Tag Archives: deployment

Modifying USMT and KACE to capture Firefox settings and other specific programs

It’s that time in the hardware refresh cycle again where you have to replace laptops on mass, well at least it is for me.

Our main challenge was migrating users Firefox bookmarks and also the desire to capture Outlook signatures and auto-complete information without capturing all Office applications information (we wanted to start as fresh as possible).

I’ve never really dug in depth into the USMT and K2000 before now and I’ve found it in needed of a little massaging.

USMT Problem

The USMT definition XML file for applications (MigApp.xml) included with USMT 5.0 does provide support for many non Microsoft productions including Firefox, Chrome and Adobe Acrobat amongst other. The only problem is Microsoft hasn’t had the inclination to keep it up-to-date.

Thanks to some clues from fellow ITNinja Jegolf, I found that the MigApp.xml is hard coded to look for Mozilla Firefox 3 (hello cira 2008).

(assuming WAIK 8)

Edit the MigApp.xml files in both the “C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\User State Migration Tool\amd64” and “C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\User State Migration Tool\x86” folders.

The line to modify:

<condition>MigXmlHelper.DoesObjectExist(“Registry”,”%HklmWowSoftware%\Mozilla\Mozilla Firefox 3.*\bin [PathToExe]”)</condition>

<condition>MigXmlHelper.DoesObjectExist(“Registry”,”%HklmWowSoftware%\Mozilla\Mozilla Firefox *.*\bin [PathToExe]”)</condition>

After making these modifications, re-upload the USMT tool into the K2000.

Now if you choose the User Data tick box under Documents To Be Scanned in the K2000 USMT Scan Template, any version of Firefox will correctly be migrated.

Firefox specific migration (and other) without migrating ALL User Data

In the K2000 USMT Scan Template, if you tick User Data then it migrates anything in the MigApp.xml template which is anything from Firefox to all Office components to Acrobat etc etc.

This is not particularly helpful if you want to be more granular about what you take to ensure you don’t pass on redundant or out of date settings.

To customize the USMT Scan Template created in the K2000 is not as easy as it could be.

  1. Create a KACE USMT Scan Template and customize it with any visible settings but DO NOT tick User Data.

  2. Export this USMT Scan Template from the Package Management area of the K2000.

  3. Browse to the \restore Samba share and find the exported package.

  4. Extract the package with 7-Zip.

  5. Open the extracted file with notepad and copy the USMT XML component out to a new file.

    This begins with <Configuration> and ends with </Configuration>

    To add Firefox, you must add a new section to the file called Applications and within that section add the Firefox component. You can add this at the top directly below <Configuration>

    <component displayname=”Mozilla Firefox” migrate=”yes” ID=”http://www.microsoft.com/migration/1.0/migxmlext/migapp/mozilla firefox/settings”/>

    You can also specifically add other components by adding them to the applications section so long as they exist in the MigApp.xml.

    For Outlook 2010 this would be:
    <component displayname=”Microsoft Office Outlook 2010″ migrate=”yes” ID=”http://www.microsoft.com/migration/1.0/migxmlext/migapp/microsoft office 2010/container/microsoft office outlook 2010/settings”/>

  6. Save this file with XML file extension.

  7. In the K2000, open your USMT Scan Template and under the Content Configuration tick Specify config file.

  8. Browse and select the XML file you created and then Save the USMT Scan Template.

When you reopen this USMT Scan Template, the K2000 shows it in the Template GUI format but as this GUI is not aware of the Applications section of the config file it won’t be displayed. It does however exist and modifying and saving the USMT Scan Template will not overwrite it (an export of the USMT Scan Template proves this).

So, what have we learned:

a) Microsoft didn’t bother fixing this Firefox version number hard coding in the MmigApp.xml file. This is possibly a problem for Chrome and other applications mentioned in it.

b) KACE USMT Scan Template GUI is not aware of Applications section of config file.

c) KACE USMT Scan Templates are ALL or nothing for applications. Granularity of applications already built into USMT (anything listed in MigApp.xml) would be better.

d) the ‘Specify config file’ option in the KACE USMT Scan Templates is ambiguous as to the required format of the config file. I only got this working when I exported a template from the KACE (thank KACE support as I wasn’t aware you could extract the packages) and copied the XML.
The ability to directly save an example config or the current config out for modification would make it simple to add customisation.

My cardboard Fort

Well, he new computers have finally arrived. My office now looks like a child’s cardboard fort creation.


This is only half of the boxes. There’s still the docking stations, notebooks stands and external monitors down in the loading dock.

I have managed to create a universal image to deploy to my machines. It’s not perfect, but will work.

Due to Windows 7’s relatively good native hardware support out of the box, so long as your platform stays the same (Intel or AMD) you can use the same image.
I use Altiris Deployment Server to do the actual imaging and then deployment, making use of PXE booting to a WinPE image.
It loads the Altiris client which I then assign the imaging task to. Completes in 5 minutes.

I do then have a USB key which I plug in and run batch script to delete the local user account used for initial image setup and also load the Altiris client (seems to have vanished after Sysprep).
From here on in, it’s all hands off. Every software application and Dell driver package is a scripted task.
I simply grab appropriate software that a staff member needs as well as drivers to suit the model of laptop and assign to be deployed to that unit. (along with joining the domain and naming the computer).

Well, this is all tested with our demo models. Let’s see how it goes in practice from Monday.

Windows 7 in the Enterprise

Laptops were due for replacement at work this year so that gave me a few choices when it came to OS.
Stick with Windows XP, take a chance with Vista or bite the bullet and go straight to 7. After playing with both Beta editions and RC editions I’ve  settled on the 7 option.

For most IT people, the idea of deploying a new operating system when it’s first released is probably never really considered as a good option.
After playing with 7 on my domain for a few months, I haven’t found any reason I shouldn’t be doing this. It appears stable, doesn’t appear to be causing any compatibility or interoperability issues and has a raft of benefits over Windows XP (well there is 6 or so years between them)

As I never had to deploy Vista, working with sysprep and unattended settings files in 7 is proving to be a little bit of a challenge.
Gone are the days of a simple and straight forward GUI to generate an unattended setup file.
Microsoft does have tools like the AIK and Deployment Toolkit but these still require a large amount of reading and research to understand how they work and how to use them.
Maybe there is a good 3rd party tool out there I haven’t found yet.

One strange thing that Microsoft appears to have done with 7, is removed the ability to copy a user profile over the default user profile.
You’d commonly do this after you had customized a user profile with icons / toolbar / program settings that you want every new user logon to receive when they first logon.
I did just find a setting in sysprep that may get around this.

Anyway, my challenge for today is to have an image completed ready for deployment on the 46 new laptops which are about to land in my office.