Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.
X
Aside

Deployment Fundamentals Vol III Is Out!

Deployment Fundamentals – Volume 3 is crammed with a lot of useful information on how to deploy Windows 7 with System Center Configuration Manager 2007 R3. We (the authors) have all been fighting with OS deployment for many years, and we simply decided to fill the book with everything we know on how to make it effective and easy to manage OS deployment in ConfigMgr. You also will find many real-world examples, including ready-made scripts and solutions you can use directly in your environment. Although this is a ConfigMgr 2007 book, there are few changes in the way OS deployment works in ConfigMgr 2012. Therefore, all of the useful insights and practical knowledge shared in this book translate easily to ConfigMgr 2012.

Discover how to – Install ConfigMgr 2007 R3 for OS deployment in multiple sites – Migrate from Windows XP to Windows 7 – Create the perfect reference image – Integrate with MDT 2010 and why – Manage device drivers – Install applications and software updates – Configure your OS deployment with BitLocker and automate BIOS configuration – Extend and customize ConfigMgr 2007 OS deployment – Create custom scripts and frontends and extend the database – Install and configure User-Driven Installation (UDI) – Perform advanced troubleshooting

You can purchase the book here from Amazon.com

Aside

MDT 2012 Beta 2–User-Driven Installation (UDI) Version 2

Aside

UDI Task Sequence generates "No valid Windows directory found, data and settings will not be captured" error

Read the original post here.

When running a User Driven Installation (UDI) Task Sequence on an x64 (64-bit or AMD64) Windows 7 machine, it shows the following warning under User Data and Settings:

No valid Windows directory found, data and settings will not be captured

Cause

This can occur when your  64-bit image is configured as a 32-bit image in the UDI Wizard Designer.  When you add your image, the UDI Wizard Designer defaults to specifying a Windows 7 x86 (32-bit) image:

If using a 64-bit image you will need to change this to AMD64.

Resolution

Once you remove the x86 reference and added it back as AMD64 in the wizard it allows the Task Sequence to work as expected.

New Bitmap Image

Aside

MDT 2010/ConfigMgr–UDI- List of Known Issues

The following is a list of known issues that relate to UDI deployments:

· If you receive error 404.3 when browsing to the UDI Designer web service, this error is typically the result of the Windows Communication Foundation (WCF) multipurpose Internet mail extensions (MIME) type not being registered correctly. To register the WCF MIME type on the web server, go to %Windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation. From an elevated command prompt, run ServiceModelReg.exe –I to register the MIME type for the .svc extension, which the web service requires.

· When you use an x64 boot image for operating system deployments, the status background bitmap will not be displayed in the Windows PE environment.

· To install language packs, you must configure the list of language packs in the UDI Wizard Designer. For each language pack, add the Install Language Pack task sequence step in the UDI task sequence and point to the Language Pack package.

· If you are using stand-alone media, the value displayed for Deployment Time by OSDResults at the end of the deployment is not guaranteed correct, because a network connection is not assumed to be available when using stand-alone media. Therefore, the machine’s basic input/output system (BIOS) clock cannot be synced to a correct time. In some cases, the deployment time may show a negative number, as occurs when the time available from Windows PE at the start is incorrectly set with a value that is actually later than the time at which the deployment finishes.

· Refreshing a computer using ZTI and UDI task sequences fails when local admin accounts are present on the computer. Task sequences also fail when the default Capture User State step has Capture all user profiles with standard options selected but the default Restore User State step has the Restore local computer user profiles check box cleared and System Center Configuration Manager 2007 cannot migrate the new accounts without assigning them passwords. To work around this issue, users must manually modify the task sequence, selecting the option to migrate local accounts, and must specify a password to be used with the local account. For details, see Capture User State at http://technet.microsoft.com/en-us/library/bb680924.aspx.

· In the case of UDI, the OSDDomainName task sequence variable is case sensitive. When setting the OSDDomainName value through a task sequence step or in CS.ini, it must be an exact match to the domain value set in the UDI configuration file.

· The Computer page in the UDI Wizard cannot be set to silent when the Workgroup option is selected. To work around this issue, disable the Computer page, and make sure that the OSDComputerName and OSDWorkgroupName variables are set.

Aside

MDT/ConfigMgr – UDI – Having Multiple Configurations For the UDI Wizard (UDIWizard_Config.xml)

By default the UDI based task sequence will use the UDIWizard_Config.xml contained in your MDT 2010 Update 1 toolkit package.  What if you want to use the same toolkit package for multiple task sequences, but provided different versions of the UDI wizard? For example, if you have different domains you want to join, or possible different applications to be presented to the user, or even skip screens for some task sequences.  Well that is possible, but it’s buried in the documentation!

Reading The Documentation

First, here are the steps outlined in the MDT documentation under the section “Configure the OSD Setup Wizard Behavior.”

To override the configuration file that the Operating System Deployment (OSD) Setup Wizard uses

1.         In the Configuration Manager Console, go to Computer Management/Task Sequence.

2.         Right-click task_sequence (where task_sequence is the name of the task sequence you want to edit), and then click Edit.

3.         Beneath the State Capture phase, click the UDI Wizard task sequence step.

4.         On the Properties tab for the UDI Wizard task sequence step in Command line, modify the text as follows (where path is the path to the configuration file which is relative to the Scripts folder and file_name is the name of the configuration file)

(If you put the xml files in the \scripts folder of your toolkit package, you don’t need to specify a path value, just as you will see I didn’t specify a path in my example below):

cscript.exe “%DeployRoot%\Scripts\UDIWizard.wsf” /definition:path\file_name.xml.

Note   The above text appears on one line. The line wrap seen here is the result of document formatting constraints.

5.         Repeat steps 3 and 4, substituting State Capture with Preinstall/New Computer Only.

6.         Repeat steps 3 and 4 for any custom task sequence steps that run UDIWizard.wsf.

7.         Click OK.

Performing The Steps

Now, lets show you how to actally do that. 

First, in my toolkit package, you can see i have 2 definition xml’s:

image

Next, we will want to edit our task sequence:

image

First, we need to to go the first UDI Wizard step located under the State Capture phase:

image

Then we need to update our command line to add the /definition command and tell it what file to use, if you put the XML in the \scripts folder of the toolkit package then you won’t have to specify a path value here, you can just specify the file:

image

Perform the same actions for the UDI Wizard step under Preinstall/New Computer Only:

image

Perform this on any other custom step you might have added that calls the UDI Wizard, then click OK to save your changes:

image

Now, when we run the task sequence on our client, we’ll see the new welcome page i created to ensure that I’m using the new configuration instead of the default UDIWizard_Config.xml.

image

Using A Custom Variable To Define The XML

Now another interesting way to set a different XML is to take advantage of the MDT integration and use a custom variable.  This would allow you have a single task sequence that could call any number of UDI config xml’s.  You could take that a step further and use any number of MDT rules to define how that XML gets set, like based upon the location, or chassis type, or a plethora of other things, way cool! I think this is a fantastic idea and was proposed to me by Michael Niehaus in an email exchange we had.  So lets show you how to do that.

First lets change our task sequence to use a custom variable we’ll call “UDIXMLFile”.

image

image

image

Next we will need to configure the customsettings.ini file for our settings package for this task sequence. So here is the package I am going to modify.

image

Here is a bone stock customsettings.ini file:

image

Here we’ve added a custom property of “UDIXMLFile”, and we’ve configured a value of UDIXMLFile=UDIWizard_Config_2.xml

image

Next, save your changes and make sure to update the distribution point for your settings package. Again we launch the task sequence on our client to verify it’s using the XML file we want.

image

So how about an example were we set different XML’s based upon the DefaultGateway.  Here we’ll set a UDI config XML based upon whether you are in London or the United States. Maybe it’s something as simple as having a different welcome page message, or you’ve configured different OU’s to be selectable.  Here is an example customsettings.ini where we’ve configured either a UDIWizard_Config_2 or UDIWizard_Config_3 file to be used depending on where you are located.

image

Just a quick example to show you some of the possibilities. 

Hope this helps!

-Chris

Aside

MDT/ConfigMgr – UDI – Web Service 404.3 Error

I was having trouble getting my web service to respond, or even browse to make sure it was working. If i tried to connect to the web service via the UDI Wizard Designer, then I would get the following:

image

If i tried to browse to the web service, then i would get the following:

image

I noticed after reading the release notes for Update 1, that there is a known issue with UDI and the 404.3 error.   Basically stating the following:

“If you receive error 404.3 when browsing to the UDI Designer web service, this error is typically the result of the Windows Communication Foundation (WCF) multipurpose Internet mail extensions (MIME) type not being registered correctly. To register the WCF MIME type on the web server, go to %Windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation. From an elevated command prompt, run ServiceModelReg.exe –I to register the MIME type for the .svc extension, which the web service requires.”

Running this, showed a bunch of components getting installed:

image

Testing the web browser again, I was not able to browse to the web service:

image

Also, I was able to connect through the UDI Wizard Designer now as well:

image

Lesson learned, read the release notes 🙂

Aside

MDT 2010 Update 1 Released

Aside

MDT 2010/ConfigMgr – UDI – Configuring Application Mappings and Dependencies

This post will cover setting up application dependencies and application mappings with UDI (User Driven Installation).  In this example, we are going to configure a automatic package mapping for Adobe Reader 8.2 to Adobe Reader 9.0.  We will also configure a prerequisite for Office 2010 of .Net Framework 3.5.  An application mapping will automatically install an application based upon another application installed already in the client system.  This is most commonly used for upgrading older versions of applications, like our example from Reader 8.2 to 9.0.  Application dependencies can be used to ensure that application prerequisites are installed, for example making sure .Net Framework is installed for a .Net dependent application. 

The first thing we need to do it open up the UDI Wizard Designer, open up the xml you want to edit (the default xml is udiwizard_config.xml) and then go to our Application/Package Selection screen. 

image

Next, we need to add the packages we want to work with to the selected packages list.

image

Next, we will need to go to “OSD Applications” and then add the applications to our list.

image

Adding Adobe Reader 8.2.0 to both 32-bit and 64-bit.

image

Adding .Net Framework 3.5 SP1 to both 32-bit and 64-bit.

image

Now we have them added to our list and we can go ahead and create the dependencies and mapping.

image

First, lets create the mapping for Adobe Reader 8.2 –> 9.0.

image

We will need the Add/Remove Programs display name along with the application GUID.  The easiest place to get the GUID is from the program properties in ConfigMgr if you have imported the MSI code. (Or you can do a quick import to get the code).

image

Once you have the GUID and display name, then we will want to click “Add” and then enter that information.

image

Now we can select “OK”.

image

Next, lets setup our dependency for Office 2010.

image

Next, we will want to select the dependency and then choose “Require” for our case.

image

image

Next, we can click “OK” since we’ve added our dependency.

image

If you click on Adobe Reader 9.0, you can see the mapping listed:

image

If you click on Office 2010, you can see the dependency listed:

image

Next, lets save our configuration and then update the distribution points.

image

image

Now it’s time to test! So we will run our UDI Task Sequence on a client machine and launch the wizard.

image image image

Because we’ve setup a mapping for Adobe 8.2 to automatically install Adobe 9.0, you will notice that Adobe Reader 9.0 is checked by default when the wizard is run, even though we didn’t configure it to be selected by default.

image 

image 

 image

Also, we had configured Office 2010 to have a prerequisite of .Net Framework 3.5 SP1.  So you will notice as soon as we check Office 2010, .Net Framework 3.5 SP1 will become automatically checked.

image 

 image

Now you’ve seen how to create basic application mappings and application dependencies.  Hope it helps. 

Aside

MDT 2010/ConfigMgr – UDI – Adding Applications To The Wizard

Lets take a look at how we can add some applications the UDI wizard to be presented to the user.  This post will cover the basics of adding an application the be presented in the wizard and making it mandatory.  There will be later posts on some of the more advanced functions you can do with applications, for example like “mapping.”

First lets configure our package selection screen. We want to configure our server name (1), then refresh the data (2), and then we want to select the application we want to add (3), and finally add it to the select packaged list (4):

image

image

Next we want to add the application the list:

image

image

image

Notice that we don’t see Office 2010 listed.  This is because in order to show up on the list, the checkbox for allowing this program to be run from a TS needs to be selected.

image

Now, some interesting behavior with the UDI designer, is that even after checking this box, you still won’t be able to see the program listed. Let me show you below.

image

Lets refresh our data:

image

And now try to see the program again:

image

Still not listed. So what we need to do in order to get the program to show us is actually remove it from the list and re-add it again.

image

image 

Now it’s listed again:

image

And now we can actually add it as an application to our wizard:

image

Now we have it selected and configure other properties if we would like to:

image

Most commonly, you would pick “Mark as Selected” and/or “Selection Locked”.  For this purpose, we are going to leave these cleared and just present it in the wizard.  You’ll now have an entry for OSD applications.

image

If we run the Task Sequence on a machine, we will now see that we have Office 2010 listed as a selectable application:

image

Now, lets go ahead and add another application, but make it mandatory this time. Here we’ve taken Adobe Reader 9 and marked it as selected and locked the selection.

image

And when the Task Sequence is ran again, it will show up like this in the wizard and we can see that Adobe Reader 9 is checked and grayed out and we are unable to clear the check box:

image

Here we can see Adobe Reader installing in the Task Sequence using the options we just showed above:

image

Now you’ve seen the basics of adding applications to the UDI wizard and presenting them to the user.  Along with making a application mandatory to the user, this would be great for items like virus scanning software or other client agents you might want to force to be installed through UDI.

 

 
Aside

Microsoft Deployment Toolkit 2010 – Update 1 – UDI (User Driven Installation) First Look

I started writing this blog a week ago and just couldn’t find the time to finish it, as it turns out my girlfriend would prefer I spend time with her instead of writing a blog post.  Then I decided I would make use of my time on a return flight home and finish the post.  So thanks to Hyper-V, Windows Live Writer and good battery life on my laptop, here is a post on a first look at UDI in MDT 2010 Update 1 (Beta).

This will show an XP to Windows 7 refresh of a Hyper-V virtual machine.  I haven’t done any customizations to UDI other than providing the Domain to join and a list of a few Organization Units to pick from.  I’ll show you how to customize the UDI interface in coming blog posts. First, let me show you the options I’ve configured in the UDI Wizard Designer to get the basic process to run.

Computer Page

We’ve configured the Domain of Deployment.com, we’ve added a few OU’s that can be chosen to place the computer into, we’ve disabled the Workgroup field and we’ve changed the default selection to be the Domain.

image

User Configuration Page

We’ve unchecked “Allow user to add additional accounts to the local Administrators group.

image

Language Page

We’ve set the Timezone to Central Time.

image

After you make changes to the xml, make sure to save the file and then update your distribution points to reflect those changes. 

Lets kick off an OSD advertisement in Windows XP and see what the process looks like as it actually runs.\

Here we have a few non-mandatory task sequences available to be executed, we are going to choose the Windows 7 x86 UDI task sequence.

image

Here we have our task sequence starting to execute:

image

Next we have the Welcome screen of the UDI wizard presented to the user:

image

Next we have our pre-flight checks being run and passed:

image

Next we have the Computer Details page which allows us to name the machine, join a domain or workgroup, along with provide credentials to join the domain:

image

Next we have the screen where we can set the local administrator password:

image

Next we can set the Time Zone and keyboard layouts:

image

Next we can chose the image, select the volume and the windows target directory, note that you can optionally select a format here:

image

Next we can select the applications to install, here is where you could also make applications mandatory by configuring the pane in the UDI wizard designer or just allowing users to choose from a list of applications, or even use package mapping to detect what was installed on the machine.

Here is our demo, we don’t have any applications configured as I wanted to show you the bare minimum to get UDI going.

image

Finally we have a summary screen showing the options that have been configured:

image

The process starts and it’s staging WinPE to the disk:

image

image

Here we are in WinPE, running an offline User State Capture (thank you USMT 4.0):

image

Next we apply the image to disk:

image

Next we Setup Windows and install the ConfigMgr client:

image 

image

Install applications if applicable (none in our demo here, so this step went through very quickly):

image

Restore User State:

image

image

Here is the deployment finished and we are presented with a summary screen. (I really like this):

image

There you have it, that’s the basic overview of UDI running an XP to Win7 refresh and what it looks like.  Looks like it’ll be very promising!