June, 2010

  • Michael Niehaus' Windows and Office deployment ramblings

    Selection profiles with the Lite Touch deployment wizard

    • 12 Comments

    I’ve talked with several people who have wanted to filter the list of items that are displayed in the Lite Touch wizard.  Fortunately, that’s pretty simple to do as you can set the WizardSelectionProfile task sequence variable via CustomSettings.ini to specify the name of the selection profile that should be used to do the filtering: only the folders in the selection profile will be displayed for task sequences, applications, and language packs.

    That works great if you want to do some simple rules-based filtering, e.g. use a different selection profile for each site.  But let’s assume you want a different list of items for each task sequence (e.g. one list for Windows XP and another for Windows 7).  It sounds simple enough by creating a rule that specifies:

    WizardSelectionProfile=%TaskSequenceID%

    If you try it though, you’ll find out that it doesn’t work.  That’s because the TaskSequenceID variable hasn’t been set yet; CustomSettings.ini is processed before the wizard is displayed.

    So to make this work requires a small script modification.  If you look in the scripts folder of your deployment share, you’ll find a file named “DeployWiz_Initialization.vbs”.  Search for the “IsThereAtLeastOneApplicationPresent” function.  In that function, you’ll find this line:

    oXMLAppList.sSelectionProfile = oEnvironment.Item("WizardSelectionProfile")

    That’s what tells the wizard to filter the application list using the value specified in WizardSelectionProfile.  Change that line to specify this instead:

    oXMLAppList.sSelectionProfile = oEnvironment.Substitute("For %TaskSequenceID%")   ' MODIFIED

    This modified line assumes that you have created a selection profile for each task sequence.  So if your task sequence ID was “WIN7” you would need a “For WIN7” selection profile.

    If a selection profile with that name doesn’t exist, you’ll find that the list of applications is then completely empty.  That’s because all the folders are going to be filtered out by this line:

                    set dXMLCollection = oXMLAppList.FindItems

    So for safety, you might also want to add a little additional logic after that:

                    ' INSERTED
                    If dXMLCollection.count = 0 then
                                    oXMLAppList.sSelectionProfile = oEnvironment.Item("WizardSelectionProfile")
                                    Set dXMLCollection = oXMLAppList.FindItems
                    End if
                    ' END INSERTED

    This logic basically falls back to the original WizardSelectionProfile name.  And if that value is blank, it means “display all items and folders”.

    Notice that I tagged the changed and inserted lines – those are really just comments to help identify the changes I have made to the standard MDT scripts.  By tagging them, it makes it easier to find the changes that I need to reintegrate into my deployment share after upgrading MDT with a new update or hotfix.

  • Michael Niehaus' Windows and Office deployment ramblings

    Just a few days until TechEd North America

    • 2 Comments

    I’ll be in New Orleans from June 6th through June 10th to attend and speak at TechEd North America.  Compared to the Microsoft Management Summit, I’ve got a relatively light schedule with two sessions:

    PRC09 | Experience a REAL Windows 7 Deployment from A to Z with the Deployment Experts
    Sunday, June 6  |  10:00 AM - 6:00 PM  |  Rm 388
    Speakers: Chris Jackson, Jeremy Chapman, Johan Arwidmark, Michael Niehaus, Mikael Nystrom

    This should be an interesting all-day pre-conference session on Sunday, with the five of us covering different parts of the deployment process – using real hardware, applications, drivers, etc., on stage in front of a live audience.  Let’s hope we can get in a few hours early to make sure everything actually works…

    WCL403 | Unleash the Power of Microsoft Deployment Toolkit 2010
    Wednesday, June 9  |  3:15 PM - 4:30 PM  |  Rm 356
    Speaker: Michael Niehaus

    In this session, I’ll try to walk through the various types of customizations that can be done on top of MDT 2010, starting out with a simple deployment share and building up to add rules, databases, web services, wizard customizations, scripts, etc.  I’ll definitely be focusing on demos during the session, and with any luck I’ll be able to squeeze it all into the 75-minute timeslot.

    If you are going to be around during the week, be sure to look me up.

    p.s. You’ll see something new at TechEd, and just in time too:  Microsoft speakers will finally be allowed to wear something other than the long-sleeve blue speaker shirts you’ve seen at events for years.  Hallelujah!  We now can wear polo shirts.  Granted, they are still blue, but in the New Orleans heat and humidity, polo shirts are most welcome.

Page 1 of 1 (2 items)