Welcome to TechNet Blogs Sign in | Join | Help

Driver Management (Part 2) - MDT 2008

I am often asked what the best way is to manage drivers with both BDD/MDT and ConfigMgr. With this in mind I thought I would create two blog posts dealing with this topic. The first post covered ConfigMgr and the second (this post) BDD/MDT driver management.

Please note this is not the only way to manage drivers, there are many different ways to manage drivers. However this is an approach that I have used many times with much success.

Overview

Before I get into the details I would like to provide a quick overview of driver management.

The first thing we must understand is the type of drivers that you need to manage. I place drivers into two categories:

1. NICE Drivers - Drivers that install using an INF file.

2. BAD Drivers - Drivers that must be "installed" - This could be a Bluetooth driver, finger print reader software or even DVD software that is specific to a particular model type. I also refer to these drivers as "Hardware based applications".

Next we need to understand where drivers are used during the deployment process. There are two areas where they are used:

1. Host OS - These are drivers that are installed on the Host OS.

2. Boot images - These are drivers that are required by the MDT Windows PE boot images to enable OS deployment. The key driver types required are network and mass storage drivers.

Finally we need to understand the options MDT 2008 provides for installing drivers:

1. Out-of-Box Drivers - Drivers are imported into the Deployment Workbench. During OS deployment MDT performs a PnP scan of the computer and chooses which drivers to install from all available drivers.  You can filter drivers using groups. These tell MDT to only consider certain drivers when deploying an OS.

2. DRIVERPATHS - This is an option that is specified in the MDT deployment point rules. It specifies a path to a folder containing all of the drivers you would like to deploy to the computer. During OS deployment all files within that path are copied to the computer. No PnP scan is performed on the drivers contained in the folder.

So now that I have covered the basics lets discuss how I manage drivers.

Process

I do not use out-of-box drivers to install "NICE" drivers on clients, I use the DRIVERPATHS method. I like the way that driver groups work but there is one scenario that driver groups does not cover. Devices that aren’t found by a PnP scan such as USB devices, multi level drivers and devices not enabled during deployment (like Bluetooth) will not be installed using the Out-of-Box installation method. You could use a combination of these methods to deploy drivers but I prefer to use one method that covers all drivers.

However I do use Out-of-Box drivers (with driver groups) to manage two key areas:

1. Drivers that must be added to Windows PE boot images (Network and Mass storage drivers) - MDT will dynamically inject these drivers into your Windows PE boot images.

2. Mass storage drivers that will be injected during image creation - MDT will dynamically inject mass storage drivers into client during image creation.

I create an application for each of the "BAD" drivers. These applications are then assigned with the correct hardware type using MDT database or deployment point rules. This allows me to selectively install the applications based on hardware type.

So now that you know how I manage drivers lets look at how I configure MDT to support this process.

Supporting infrastructure

The following steps must be followed to prepare the MDT infrastructure for driver management:

1. Create and a share folder on the deployment server. This folder will contain the drivers for each hardware type. I usually create a folder called models and share it as models$.

2. Create a driver group for mass storage drivers - I call this group "MassStorageDrivers"

3. Update the deployment point rules to assign the driver group to the StorageDriverSysPrepGroup property

                    [Default]

                    StorageDriverSysPrepGroup=MassStorageDrivers

    Note - All mass storage drivers in this group will be injected into the computer before running sysprep, so the drivers can be picked up after reboot. This can only be used when creating an image.

4. Create a driver group for Windows PE images - I call this group "WinPE"

5. Assign the Window PE driver group in the Windows PE tab of the Deployment Point.

      image

    Note - This ensures that only drivers in this group are injected into the Windows PE boot image. This option is not available in LAB distribution points. It is important to note that LAB deployment points should only be used for creating images not deploying images.

5. Create a driver group that contains no drivers - I call this group "NoDrivers"

6. Ensure that the "NoDrivers" driver group is the only one selected in the driver groups tab of the Deployment Point.

      image

    Note - This will ensure that only drivers that are specified using the DRIVERPATHS property are installed.

6. Update the deployment point rules to specify the DRIVERPATHS property

                    [Default]

                    DRIVERPATHS1=\\SERVERNAME\SHARE\%Model%

   Note - %Model% will be replaced by the WMI value gather during the MDT deployment process. All drivers for each hardware type will be stored in a folder corresponding to this value.

Now that we have prepared MDT for driver management lets look at how these settings are used.

Process

I find the simplest way to describe how I manage drivers is by example. The example I will use I perhaps the most common scenario in OS deployment, adding support for a new hardware model.

The process involves the following steps:

1. Create a folder for the new hardware type in the models folder. The models folder name must match the model value returned by WMI. I have found the simplest way to determine this value this is via a WMIC query.

    The following steps detail how to perform a WMI, ensure that these steps are run on the new hardware NOT the server:

           a. Open a Command Prompt

           b. Type WMIC

           c. To determine the Model, type CSProduct Get Name

2. Gather together all of the required "GOOD" drivers for this hardware type and place them in the new folder. I usually create a sub folder for each driver type. For example "Model\NIC" or "Model\Audio"

3. Create an MDT application for each "BAD" driver that must be installed

4. Associate the applications with the model using the MDT database or rules

5. If Required - Import mass storage drivers into the deployment workbench. Add these drivers to the "MassStorageDrivers" group during the import process.

6. If Required - Import network/mass storage drivers required for Windows PE. Add these drivers to the "WinPE" group during the import process.

    Note - The version of Windows PE used by MDT is based on Windows Vista. This means that you must to import Vista drivers to support Windows PE.

7. Update the deployment point.

    Note - If you have multiple deployment points then ensure that they are all updated.

8. Update any Windows PE boot images on WDS servers or DVD/CD media

 

Mass Storage drivers can be particularly troublesome to manage when deploying Windows XP and Windows 2003. The most recent release of MDT (March 2008) now includes support for injecting mass storage drivers  before running sysprep, so the drivers can be picked up after reboot. This is a great new feature of MDT but it can only be used when creating an image. MDT CAN NOT inject drivers into an image that has already been syspreped.

So what does this really mean? If you have a new hardware type that requires a mass storage driver not currently supported by your image then you will need to recreate your image :(.

Note - ConfigMgr can inject drivers into an existing image.

Note - MDT will inject Vista and Windows 2008 mass storage drivers

 

So that's how I manage drivers .... simple :)

 

This post was contributed by Ben Hunter a Consultant with Microsoft Services New Zealand.

Published Thursday, April 17, 2008 11:39 AM by BenHunter

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Driver Management (Part 2) - MDT 2008

Thursday, April 17, 2008 10:49 AM by Rich

Ben,

This has been long awaited by my part.  Thanks for taking the time to post this.  Just a few questions.

1) Regarding the WMIC - CSProduct Get Name command.  I ran this on my laptop for example, and here is what I got: 1951WBF.

Are you suggesting to name the driver folder something like this: Models$\1951WBF ?

2) Regarding the customsettings.ini - DriversPaths1.  Do I need to have a separate entry for each model?  For example,

DriversPaths1=\\server\models$\1951WBF

DriversPaths2=\\server\models$\Power Edge 2600

3) Associate the applications with the model using the MDT deployment rules.  Can you explain this further?  Let's say I already have all of my applications configured in MDT.  Right now I have them added in the Task Sequence to install as an application.  Is this necessary or can I use customsettings.ini to point to the source directory of the application install files?  Can you explain this further.

Great stuff.  This has been very useful.  

Rich

# re: Driver Management (Part 2) - MDT 2008

Thursday, April 17, 2008 3:12 PM by mwest

Ben, as always, you rock!  I'm going to give this a shot right now.

# Driver Management (Part 2) - MDT 2008

Thursday, April 17, 2008 3:50 PM by Rod Trent at myITforum.com

I am often asked what the best way is to manage drivers with both BDD/MDT and ConfigMgr. With this in

# re: Driver Management (Part 2) - MDT 2008

Friday, April 18, 2008 5:45 AM by Tobias

Hello,

thanks for this deployment tip. I try now since a long time to deploy Windows XP SP2 with BDD. I have a HP notebook with a Intel SATA storage adapter. I add the Intel Matrix driver to the out-of-the-box driver, but the install fail every time. I can't find the mistake.

I'm tankfull for an idea

Thanks

TObias

# re: Driver Management (Part 2) - MDT 2008

Friday, April 18, 2008 6:01 AM by Daniel Oxley

Tobias,

Have you checked the log files to find out why it is failing?  You'll probably find the reason there.

Look for the bdd.log (amongst others) in the MININT directory.

HTH,

Daniel

# re: Driver Management (Part 2) - MDT 2008

Friday, April 18, 2008 12:25 PM by jparekh73

Ben - I'm using VPC (and tried VMWare Wksn 6) as well to boot of the LiteTouch.iso to connect to the MDT 2008.  PE starts fine and sees the network (had to add the AMD driver for VMWare) but both VPC and VM cannot see te C: drive.  Any ideas?  VM is set for IDE and VPC is set as is.  The virtual drives are preset to 8gb.

# re: Driver Management (Part 2) - MDT 2008

Friday, April 18, 2008 7:23 PM by BenHunter

Hi Rich,

It looks like you have an IBM machine. This is how they define their model types. So yes I am suggesting that you use this folder name. I usually include a text file in the folder that identifies the smodel type with the real product name.

You do not need to create seperate driver paths entries. This is taken tare of automagically by the %model% part of the path.

    DRIVERPATHS1=\\SERVERNAME\SHARE\%Model%

For further information on how to assiociate applications with the model type please have a look at one of my old  blog posts:

http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Friday, April 18, 2008 7:31 PM by BenHunter

Hi Tobias,

Are you adding injecting the driver when you create the image?

Did you add the driver to the group specified by StorageDriverSysPrepGroup?

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Friday, April 18, 2008 7:38 PM by BenHunter

Hi jparekh73,

I don't have too much experience with VMware workstation.

You will need to integrate the mass storage drivers for VMware into yuor boot image and the OS install process.

I would suggest that you post the question on myitforum.

http://www.myitforum.com/forums/Operating_System_Deployment/forumid_150/tt.htm

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Tuesday, April 22, 2008 4:07 PM by Rich

Hi Ben,

Ok, got it now.  A question regarding the rules processing for the hardware based applications.  If I set this up according to your post, do I still need to add the applications to my task sequence?  I guess I'm not seeing the real benefit of the rule processing in this scenario.  

In my environment I have setup the "BAD" drivers to install as applications and I tag those in to the State Restore phase in my Task Sequence.  

Just looking for some clarification.  

Thanks,

Rich

# re: Driver Management (Part 2) - MDT 2008

Tuesday, April 22, 2008 5:04 PM by mwest

Hey guys,

I'm running into a snag with this.  I can PXE boot fine, go through the LTI setup, and it begins running the task sequence.  Once it gets to Installing Operating System, it sits for about 30 seconds and errors out with 32 errors.  The errors repeatedly cannot find the deployment server, and the final one at the bottom states that it cannot find it because there is no network device on the machine.  I'm able to authenticate when first starting the LTI setup but once it gets here it fails.  I've added the available NIC drivers for this computer (Dell Latitude D610) to the WinPE image but still nothing.  Let me know if you need to exact error message or if this is enough.  As always, appreciate your help guys!

# re: Driver Management (Part 2) - MDT 2008

Tuesday, April 22, 2008 5:46 PM by BenHunter

Hi Mwest,

There are two things you need too do.

1. CAn you open the command box in the bottom left hand corner and run ipconfig. Does this return an IP address? If it doesn't then you will need to find the correct Vista drivers for the 610. I think the 610 uses a broadcom B57 nic.

2. Make sure that you delete the MININT and _SMSTaskSequence folders between tests. If these exists then "WEIRD" things will happen :).

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 12:16 AM by BenHunter

Hi Rich,

You do not need to add applications to the task sequence. It will dynamically install the applications using the "Install applications" task in the state restore phase.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 9:53 AM by Rich

Hi Ben,

What if they're not silent installs?  Just want to make sure this doesn't mess anything up.

As it is now, for the non silent installs, my techs have to intervene for a few app installs during state restore.  

Would this behave the same as it does now?

Rich

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 10:22 AM by Benno Rummens

Hi Ben,

I loved the out-of-the-box drivers in BDD for the good drivers. I created a driver group for each model in my environment and selected the correct driver group in the properties of each build. Now I want to upgrade to MDT wich has a lot of improvements but they removed this function.

Is there a way or a script from the old BDD builds that I can use so I could select a driver group for a Task sequence just like you could select the Install Operating system.

Thanks,

Benno

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 1:06 PM by brummens

Hi Ben,

This way of injecting the drivers works but I am running into a problem in my company I already have 17 different model names for one and the same laptop (e.g. HP Compaq dc7100 USDT(PN286ET)) HP changes the model name constantly but the drivers are the same.

I liked the way from BDD by creating 1 driver group per model and select this with the build for the model. This way of injecting GOOD driver per model has been removed with MDT 2008. Why?

Is there a task sequence available in MDT like the one for selecting the operating system only then for selecting the drivers just like in BDD.

Thanks,

Benno

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 3:02 PM by mwest

Hi Ben,

I did check to ensure I have an IP address which I do.  I've deleted the MININT and _SMSTaskSequence folders, I've even booted with a WinPE usb and did a format of the drive to be sure.

The issue I'm having is trying to deploy a WIM of Windows XP.  I've done some testing with doing a remote install of Vista from Source Files and that goes through fine.

I'm thinking I may have my syntax wrong with editing the Rules for my Deployment Point.  I've tried several configurations but this is the last one that I tested with.

---------------------------------------------

[Settings]

Priority=Default

Properties=MyCustomProperty

[Default]

StorageDriverSysPrepGroup=MassStorageDrivers

[Default]

DRIVERPATHS1=\\cg-ny-vds-01\Models$\%Model%

[Default]

OSInstall=Y

UserDataLocation=NONE

SkipAppsOnUpgrade=YES

SkipCapture=NO

SkipAdminPassword=YES

SkipProductKey=YES

----------------------------------------------

I've tried adding the "StorageDriverSysPrepGroup=MassStorageDrivers" and "DRIVERPATHS1=\\cg-ny-vds-01\Models$\%Model%" entries under the same "[Default]" as the OSInstall=y with no luck as well.  Before following this tutorial I was able to deploy images over and over with XP but somewhere I've gone awry with this tutorial.

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 3:48 PM by BenHunter

Hi Rich,

The non-silent installs will still work. However I think you shouldn't need to use non-silent installs for driver installation. I have always managed to find ways to install the BAD drivers silently. I think it is a very bad idea to be interacting with the deployment process as introduces a greatly increased management overhead and likehood of error.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 3:53 PM by BenHunter

Hi Benno,

I agree that driver groups work well. However I don’t use them as they don’t work in all scenarios and I prefer to use one method only (maybe I am lazy ).

Have you thought about assigning the driver group dynamically using the customsettings.ini file? This way you only need one task sequence for all models.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 4:01 PM by BenHunter

Hi Benno,

The best way of getting around the problem of all the different model types is to use model aliases. I have a previous blog post that details how to do this:

http://blogs.technet.com/benhunter/archive/2007/03/28/bdd-2007-tips-creating-model-aliases.aspx

I do not know why the functionality to assign a driver group to a task sequence was removed from the interface.

However you can assign this either dynamically or statically using the customsettings.ini file. Here is an example of doing it statically:

         [Settings]

         TasksequenceID,Default

          [Default]

          [TaskSeq-1]

         DriverGroup= HP Compaq dc7100

          [TaskSeq-2]

         DriverGroup=HP Compaq DC7600

I would not recomand doing this statically. Instead I would use one task sequence that dynamically assigns the driver group. This will reduce the management overhead.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 4:24 PM by BenHunter

Hi Mwest,

There is definitely a problem with the syntax of your rules.

You can only have one default section. The best place to test for errors is the \MININT\ztigather.log file.

You should also have a look in the bdd.log file to see if there are any errors in there.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 6:53 PM by mwest

Thanks for the suggestions.  I've come to find out it's only when I'm working with a WIM file that has been sysprepped.  Can't seem to figure out why.  So now that I'm able to deploy my XP WIM again, I've started from scratch and redid all of the steps in this tutorial and adjusted my Rules as so:

[Default]

OSInstall=Y

StorageDriverSysPrepGroup=MassStorageDrivers

DRIVERPATHS1=\\cg-ny-vds-01\Models$\%Model%

I'm out of time for the day to continue working on this but will be back at it tomorrow.  I'm wondering if I need to have those entries before the OSInstall=Y.  I'm able to get my image out but still I am not getting any driver support.  I made sure to create the models$ share and named the folder from my WMI query.  

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 23, 2008 7:02 PM by BenHunter

Hi Mwest,

It sounds like it is time to dive into the logs :).

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Thursday, April 24, 2008 7:41 AM by Andrea

Ben,

I know I'm confusing my past xp ghost imaging with MDT 2008 andhoping you can set me straight. I created a wim sysprepped and included the drivers in c:\Drivers for the maachines I need to deploy with. Sysprep (with the mini setup switch) Build mass storage and populated the mass storage section. I have also added the paths to the drivers in the OEMPnPDrivers i sysprep. I also have the inject drivers in the task sequence and I know that the task sequence creates it's own c:\drivers. I supposeone way around this is to build the wim with MDT but what should I change?

The task sequence hangs on the first reboot doing the mini setup - power off & boot to cd & the task sequence gives me an error, I boot again and mini setup runs and I can get into windows.There's one pci device that hasn't gotten installed. I can't find the inf for that device in all the driver files that came with the machine but i will, or do you know off the top of your very knowledgable deployment head?This is the only failed driver that I see in the setupapi log file, so I assume that's my problem with the task sequence bombing out. Even at intel I searched adn it came up with other id's close but not this one.

(pci\ven_8086&dev_293e&subsys_02111028)

# re: Driver Management (Part 2) - MDT 2008

Thursday, April 24, 2008 10:26 AM by Tobias

Hello Ben,

i find the error! There is an error in the standard txtsetup.sif.

When i try to install a english windows xp than the deploy run with no error. When i try to deploy the german windows xp the deployment process start and the file will copy to the hard disk and the first step run very well. After the restart the textmode setup will start and will stop with the error:

in txtsetup.sif in section [SCSI] is missing "IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller"

i checkt the txtsetup.sif an the hard disk and there is the following line:

atapi    = "IDE CD-ROM (ATAPI 1.2)/PCI IDE-Controller"

when i change the source txtsetup.sif without the "-" the setup will run and deploy the operation system.

the source files from a iso image from microsoft.

is the error at the deployment or at the source files?

best regards

Tobias

# re: Driver Management (Part 2) - MDT 2008

Thursday, April 24, 2008 3:32 PM by Rich

Hi Ben,

Any tips you can give me on finding silent installs for the "BAD" drivers?  I've been told by certain companies, like Nvidia, that a particular install just doesn't have a silent switch.

Thanks,

Rich

# re: Driver Management (Part 2) - MDT 2008

Thursday, April 24, 2008 4:57 PM by Daniel Oxley

@ Andrea,

Andrea, that device that is not installing is the infamous "Microsoft UAA Bus Driver for High Definition Audio".  You need to install a KB hotfix in order for Windows to recognise it.  You'll find it on the download page for the drivers of the computer.

IIRC, this is the KB number, but go get it from the manufacturer:  http://support.microsoft.com/kb/888111

Also, you said "I supposeone way around this is to build the wim with MDT but what should I change".  I would always recommend using MDT to build the WIM, it is a great tool that will save you plenty of future headaches.

HTH,

Daniel

# re: Driver Management (Part 2) - MDT 2008

Thursday, April 24, 2008 5:05 PM by Daniel Oxley

@Rich

Hi Rich,

When I have come across this problem often the only way is to try and 'break open' the installer package in order to get the msi file or the driver files.

Try launching the installer program whilst keeping an eye on your %temp% folder to see what contents are extracted to it.  You may see the files you need are copied there, and then you can grab them to try doing a silent install.

It doesn't always work, but I have had some success with it.

HTH,

Daniel

# re: Driver Management (Part 2) - MDT 2008

Monday, April 28, 2008 12:44 PM by Andrea

Rich - Thanks for that. Today I created a new task sequence and deployed and captured a wim that that works with the sata drive on this dell 755 using mdt 2008. I had problems with my task sequence and things not working and decided it was that causing me all my headaches. Sure enough. I'm celebrating tonight for sure. & thanks to all you guys who always have the answer. It's a beautiful thing to see that task sequence finish to a white screen! I only wish I was still deployning Vista.

;)

Andrea

# re: Driver Management (Part 2) - MDT 2008

Tuesday, April 29, 2008 3:09 PM by mwest

Hey guys,

I know Ben is out for the next few days but I've stumbled upon something in my testing.  I've been having an issue with getting my image to deploy and install the devices using this tutorial.  I've come to find that the drivers are being copied over during the deployment process with my Win XP WIM, they are in c:\drivers but the folder is hidden.  Now knowing that they are actually there stumps me more as to why they are not installing themselves.  The possible thought I have is that the image is not sysprepped.  The reason for this being that I can't seem to deploy a sysprepped image for some reason.  I'm going to test capturing an image with MDT rather than using one I captured manually with ImageX.

# re: Driver Management (Part 2) - MDT 2008

Tuesday, April 29, 2008 5:59 PM by Daniel Oxley

MWest,

Although the drivers are copied down to the C: drive, Windows will not know that they are there to be used.  That is the purpose (or one of them) for the OEMPnpDriversPath key in the sysprep.inf file.

HTH,

Daniel

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 30, 2008 4:12 PM by Rich

Hi Guys,

I have this setup and so far everything is looking great!  

I've also noticed the drivers in my models% directory being copied over the c:\drivers location on the target PC.  My drivers appear to be installing dynamically, as this article describes.  That said, should it be copying the drivers to my c:\drivers directory?

Now that I have the "NICE" drivers installing with this method, I need to work on my "BAD" drivers.  I have one question regarding this documentation.  Step 4 under the Process - Associate the applications with the model using the MDT database or Rules.  I don't use MDT database.  How do I associate the hardware based apps (BAD drivers) in the deployment rules?  Can we see an example of how I can use this?

Thanks a million for this guys.  

Rich

# re: Driver Management (Part 2) - MDT 2008

Wednesday, April 30, 2008 5:23 PM by Rich

Hi Daniel,

I've tried using Winzip on some of these and am unable to get them to extract. I've also tried running the .exe from CMD and put a /? after the .exe  At times, I get lucky with this.  

I tried to run some of these "BAD" driver installs while monitoring the %temp% directory as you stated, but I'm only able to see the source files (.dll for example), I get no information on silent switches.  

Are you referring to actually repackaging the installs that include a silent switch?  This is an area I'd like to know more about.

Thanks,

Rich

# re: Driver Management (Part 2) - MDT 2008

Friday, May 02, 2008 2:36 PM by mwest

Thanks for the info Daniel.  I'm now able to successfully deploy XP from a WIM image with driver support.  One little hang up I'm running into is that with the Dell Latitude D610 I'm using, is that it's looking for a driver for the Plug and Play monitor.  I don't even have to do anything aside from click ok and next a couple times and it finds the driver in Windows' default driver cache, but it interrupts the flow of the whole thing to have to watch for it.  Is there a way to tell it to just find and install it like it does all of the other drivers?

# re: Driver Management (Part 2) - MDT 2008

Friday, May 02, 2008 7:24 PM by BenHunter

Hi Rich,

It should be copying the drivers to C:\drivers.

I have found that most drivers include a readme that explains how to extract them. Generally they cannot be extracted by Winzip.

Daniel was refering to  installs that include a silent switch. You should never need to repackage.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Monday, May 05, 2008 10:17 AM by Rich

Thanks for the info Ben.  Side note - How do I associate the hardware based apps (BAD drivers) in the deployment rules?  

Thanks,

Rich

# re: Driver Management (Part 2) - MDT 2008

Monday, May 05, 2008 10:33 AM by kellyk.gallant@aliant.ca

Hi Ben,

In my OSD properties, I don't have the Applications or Driver Groups tabs. How would I bring those in?

Thanks

Kelly

# re: Driver Management (Part 2) - MDT 2008

Thursday, May 08, 2008 4:48 AM by BenHunter

Hi Rich,

The best way is to use the database rules.

This is detailed in the "deployment customisation guide" in the chapter "Configuring the Database" section.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Thursday, May 08, 2008 4:51 AM by BenHunter

Hi Kelly,

This does not apply to OSD deployment points. You would need to create a RESOURCEROOT to perform these tasks. To do this create a network deployment point and then refer to this DP in your customsettings.ini file using the RESOURCEROOT variable.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Thursday, May 08, 2008 7:17 AM by kellyk.gallant@aliant.ca

Hi Ben,

Thanks for the info. From there on, how are these tasks performed?

thanks again,

Kelly

# re: Driver Management (Part 2) - MDT 2008

Thursday, May 08, 2008 2:40 PM by mwest

Hey guys,

I've got everything working properly but I'm running into two issues that are just bugging me.  One being that during the driver install portion of sysprep after the image is deployed, it doesn't silently install the driver for the plug and play monitor.  I always have to choose if I want to let it check online for the driver, click next a couple times, then click finish.  Is there a way to get that one to silently install too?  It seems to be pulling it's driver from the Windows driver cache rather than c:\drivers.

Another issue I'm having in the same vain and this may not be the right spot for it, is that when I install Office 2007 with the answer file, I still have to click "Install Now" to get it to start but the rest goes from the answer file.  Is there a way to get it to not require me to click "Install Now" and just do it on it's own?

# re: Driver Management (Part 2) - MDT 2008

Thursday, May 08, 2008 3:21 PM by Daniel Oxley

Hi MWest,

This might seem a bit bizarre, but have you just waited for a few minutes without touching the machine?  A couple of times I have had an identical problem and the solution was to do nothing!  After 5 minutes Windows Setup continued and installed the correct driver from it's cache even though it had originally popped up the driver window.

If that is not the solution, then it seems that you don't have the right driver added in MDT, you'll need to check the PNP IDs against the drivers you have added to see if you have the *exact* driver.

HTH,

Daniel

# re: Driver Management (Part 2) - MDT 2008

Friday, May 09, 2008 12:16 PM by Rich

Hi Ben,

My Deployment Points in MDT 2008 do not show the driver groups, applications, and task sequences as shown in this blog.

I see the note to Kelly explaining to add the RESOURCEROOT variable to the cs.ini.  Just for clarification, does this pertain to MDT 08?

Also, if we could get some basic instructions on getting this setup, that would be great.

Thanks,

Rich

# re: Driver Management (Part 2) - MDT 2008

Friday, May 09, 2008 2:02 PM by mwest

Thanks for the info Daniel, I'll give it a try.  I did try to locate the driver after it was installed.  When I looked at the driver for it, it said there was no driver installed.  I checked around with a few other workstations in my office and they all seemed to have the generic "monitor.sys" from c:\windows\system32\drivers as their driver.  I've copied that and the entire folder to my Models$ share but with no luck.  I'll give the wait it out option a try right now.  Oh, I did also figure out my Office silent install issue.  When I created the config.xml I assumed it would make it silent, did some edits to it and it's all good.

# re: Driver Management (Part 2) - MDT 2008

Friday, May 09, 2008 2:41 PM by mwest

Ok, that did it.  3.5 minutes and there it went and finished on it's own.  Would be nice to not have that happen but at least I'm back on track.  Thanks again Daniel!

# re: Driver Management (Part 2) - MDT 2008

Friday, May 09, 2008 4:54 PM by Daniel Oxley

MWest,

Glad that fixed it!  Customers always laugh and look at me funny when I tell them to wait 5 minutes as it will probably solve itself.  I have never found anything offically documented about this, but I suspect that Windows Setup will continue on errors after a delay when used with an unattend.txt file.  A shame that the error window did not have a counting down clock on it or something else to tell you not to panic; I wonder how many other people have had this problem...  It might even be worthy of a blog post if I could only get screenshots!

Glad to have been of help,

Daniel

# re: Driver Management (Part 2) - MDT 2008

Sunday, May 25, 2008 10:10 AM by Aviad

Hi Ben,

i'm using a single image and the MEDIA distribution point only. is this method work with the MEDIA ? and if yes how ?

after i finish to create an image and capture it, at first boot when sysprerp is working how do the system know what is the path to the new drivers folder ? (\\myserver\drivers$\%model%)

do i need to point the folder in the sysprep.inf ? we are talking about video drivers etc. (not mass storage)

thanks in advanced,

Aviad (faruzaviad dot gmail dot com)

# re: Driver Management (Part 2) - MDT 2008

Monday, May 26, 2008 5:03 AM by BenHunter

Hi Aviad,

This not work for a media point using the current configuration. However it can easily be adjusted to work for a media deployment point.

What you should do is create an application that contains the drivers for each model. Then simply include this application in the media deployment point. You will need to change the DRIVERPATHS value:

DRIVERPATHS1=%DeployRoot%\Applications\drivers\%Model%

Hopefully that helps.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Wednesday, May 28, 2008 12:30 AM by Chris

Hi Ben,

New to this so forgive the simple question. I have scoured the net for no answer. When I right click on my deployment point I do not see the tabs Task Sequence, Applications or Driver Groups.I also note that Your screen shot shows Network Properties. Mine shows Server Deployment Point Properties and only the General, Rules and Windows PE tabs. How do I bring up Network Point property?

Thanks in Advance.

# re: Driver Management (Part 2) - MDT 2008

Wednesday, May 28, 2008 4:18 AM by BenHunter

Hi Chris,

The reason you do not see the other settings is because I always deploy my images using a network deployment point. I do not use the lab deployment point to deploy images. The lab DP is intended for creation of images only.

So try creating a new network DP and see how you go.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Thursday, May 29, 2008 9:18 PM by Chris

Thanks Ben,

I am on the same page now. Keep up the great work. The deployment blog is a ripper.

Cheers

# re: Driver Management (Part 2) - MDT 2008

Monday, June 02, 2008 2:33 PM by Jared

Ben,  thanks for the part 2 link. that is helping a great deal with my deployment. having s issue wiht a BAD driver... Its the XP Intel 945GM Video driver.  After the OS is downm, and all other apps are installed, I run the setup -s from my deployment server, and it jsut seems to hang.   On the screen, I have new hardware found wizards, and if i cancel them,  the video install continues, and finishes.  any idea ?  I also tried extracting the drivers, and trying it that way, and it didnt work that way either? any thoughts ?

thanks

Jared

# Life in Driver hell......

Tuesday, June 03, 2008 2:19 PM by Jared

Ben,  I have a Lenovo X60 machine, that when I build it out with a custom WIM that Ive created, and using the drvierspath001 in CS.ini to copy over all drivers in the drivers folder I have for that make/model, give me a “!” on 1 of the 2 display drivers listed in device manger.

The 1st one lists correctly in that it’s a Mobile Intel® 945 Express Chipset Family,

The 2nd one, lists as a Video controller ( VGA Compatible)

I know the drivers are there in the drivers\video folder, as if I go to update the driver, and point to that folder, it finds the driver, and closes the “ new hardware found” open window.  

Any Idea how I can tell MDT to look for both drivers in the same folder ?

# re: Driver Management (Part 2) - MDT 2008

Wednesday, June 04, 2008 5:49 AM by BenHunter

Hi Jared,

What type of machine did you use to create the master image? Also which OS are you deploying?

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Wednesday, June 04, 2008 9:11 AM by Jared

I created the custom WIm on a VM machine.  the Os im deploying is XPSP2.  

Thanks Jared

# re: Driver Management (Part 2) - MDT 2008

Thursday, June 05, 2008 6:20 AM by BenHunter

Hi Jared,

Do you have the the following to your sysprep.inf file for creating the master image?

[Unattended]

UpdateInstalledDrivers=yes

Here is some more info on what it does:

http://technet2.microsoft.com/windowsserver/en/library/4dba14f3-76e1-4a9e-b67a-3a93230f63071033.mspx?mfr=true

I have seen people installing the application to "work around" this issue. I am not sure if they had the same problem you had.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Thursday, June 05, 2008 9:52 AM by Jared

Ben, Ill check that out and make the modification if necessary.  Thanks for the idea.  

Jared

# re: Driver Management (Part 2) - MDT 2008

Thursday, June 05, 2008 4:22 PM by Jared

Ben, That worked.. i know ive had that ine before in my sysprep. Dont know how I missed that one. Thanks !

another question, where the MDT copy the drivers folder over to on a vista machine? is it still to the c:\drivers folder ?  

reason im asking is that I ahve my rules to do that, and i dont see the folder on the machine im tesing on.

Thanks

# re: Driver Management (Part 2) - MDT 2008

Thursday, June 05, 2008 5:27 PM by BenHunter

Hi Jared,

The drivers get copied to the C:\drivers folder which is hidden. They also get injected into the driver store.

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Tuesday, June 10, 2008 4:25 PM by greggc

Hello,

I have been trying to setup MDT 2008 for deploying Win XP to a core group of different workstations. I have been researching this for the past month and testing it as well. I have successfully setup MDT 2008 and can deploy Win XP to different Dell hardware. At first I would select a different driver group for the deployment point for the hardware I was deploying to. I want this to happen automatically though. I setup the MDT database and created a Make and Model for each hardware type and specified the driver group name for the specific make and model. I tried running this while the deployment point driver group settings had nothing checked. No drivers would install. It seems to only work based on the deployment point driver group setting, not the model type it pulls from WMI. I have not found much detail on this setup.

I also tried what you have outlined in this blog. I removed the database references and created a share on the server, put the drivers in subfolders with a parent folder of the WMI model type and added the path in the customsettings.ini for the deployment point. I then selected the no drivers group I created. Still no drivers were pushed to the workstation.

Sorr for the long post, please help if you can.

Thanks

# re: Driver Management (Part 2) - MDT 2008

Sunday, June 15, 2008 5:22 AM by BenHunter

Hi Greg,

What you are doing sounds correct. I would suggest that you look at the ztigather.log file to troubleshoot this issue.

It should show what the driverpaths1 value is set too.

For more information on troubleshooting MDT have a look at the troubleshooting post on my old blog - http://blogs.technet.com/benhunter

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Monday, June 16, 2008 6:10 AM by kwan88

Not Sure if this the correct area to put this post but we have the below issues with MDT 2008 / BDD 2007 / NHSBDD V2/V3 XP SP2 Mass Storage Error after Image Capture and after Mini Setup.

HELP!

Dear All,

We are currently in the process of creating a BDD deployment for Windows XP SP2. We have been tested with BDD 2008 / BDD 2007 / NHSBDD V2/V3. OS installed are XP SP2, PE 2004 and PE 2005.

The XP SP2 has been amended to include all Mass storage drivers as document in the Ben Hunter Guide and on the Intel website for ACHI and SATA drivers. Lite Touch deployment using XP unattended install of XP functions normally with all drivers installed for SATA and ACHI PC's.

The issues occur when we run sysprep or when sysprep is automatically ran during the image capture. Basically after image capture the OS runs through mini setup reboots and then we get the XP BSOD error message

Unmountable_Boot_volume Stop 0x000000ED (0x86180900, 0xC000014F, 0x00000000, 0x00000000), of which research lead me to http://support.microsoft.com/kb/297185/en-us, http://www.community.windowsreinstall.com/index.php?showtopic=1354, http://support.microsoft.com/kb/931760  and other websites.

http://support.microsoft.com/kb/931760  and other websites.

SYs

I have below the sysprep.inf and the BDD.log

; Sysprep.inf file.

; This file is to automate the mini-setup process after imaging a machine

[Unattended]

   OemSkipEula = Yes

   OemPnPDriversPath = "\Drivers\NET;\Drivers;\Drivers\IntelInf;\Drivers\IntelSATA"

   DriverSigningPolicy = Ignore

   UpdateInstalledDrivers = Yes

   ExtendOemPartition = 1

   KeepPageFile = 0

[GuiRunOnce]

   "cscript.exe %SystemDrive%\MININT\Scripts\LiteTouch.wsf /start"

[Networking]

   InstallDefaultComponents=Yes

[Display]

   BitsPerPel=16

   Xresolution=1024

   YResolution=768

   Vrefresh=60

[TapiLocation]

   AreaCode=888                ; Area Code for modem

   CountryCode=1               ; Country code for modem 1=USA

;    Dialing=Tone               ; Indicates tone or pulse dialing for modem

;    LongDistanceACcess=9           ; Specifies number to dial for outside line

[RegionalSettings]

   LanguageGroup=1

   Language=00000409

[GuiUnattended]

   AdminPassword=""

   OEMSkipWelcome=1

   OEMSkipRegional=1

   TimeZone=010

   AutoLogon="Yes"

   AutoLogonCount=999

[Identification]

  CreateComputerAccountInDomain=Yes

;   JoinDomain=CONTOSO

;   MachineObjectOU= "OU=Workstations, dc=contoso, dc=com"

;   DomainAdmin=Contoso\Administrator

;   DomainAdminPassword=password

[UserData]

  ComputerName=*

  FullName="IT ADMIN"

  OrgName=""

  ProductKey=""

[URL]

  Home_Page="http://intranet"

[Sysprep]

  BuildMassStorageSection = No

[SysprepMassStorage]

; Added for Intel SATA Controller Support

PCI\VEN_8086&DEV_2652&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2653&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_27C1&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_27C5&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2681&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2821&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2829&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2922&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_5029&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2652&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_27C3&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_2682&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_27C6&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_2822&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_282A&CC_0104=C:\Drivers\IntelSATA\iastor.inf

;

Primary_IDE_Channel = %windir%\inf\mshdc.inf

Secondary_IDE_Channel = %windir%\inf\mshdc.inf

;

; Added for ich5core Controller Support

;

PCI\VEN_8086&DEV_24D0 = C:\Drivers\IntelInf\ich5core.inf

PCI\VEN_8086&DEV_24DC = C:\Drivers\IntelInf\ich5core.inf

PCI\VEN_8086&DEV_24D3 = C:\Drivers\IntelInf\ich5core.inf

PCI\VEN_8086&DEV_25A1 = C:\Drivers\IntelInf\ich5core.inf

PCI\VEN_8086&DEV_25A4 = C:\Drivers\IntelInf\ich5core.inf

PCI\VEN_8086&DEV_25AB = C:\Drivers\IntelInf\ich5core.inf

PCI\VEN_8086&DEV_25AE = C:\Drivers\IntelInf\ich5core.inf

PCI\VEN_8086&DEV_25AC = C:\Drivers\IntelInf\ich5core.inf

;

; Added for ich5ide Controller Support

;

PCI\VEN_8086&DEV_24D1 = C:\Drivers\IntelInf\ich5ide.inf

PCI\VEN_8086&DEV_24DB = C:\Drivers\IntelInf\ich5ide.inf

PCI\VEN_8086&DEV_25A2 = C:\Drivers\IntelInf\ich5ide.inf

PCI\VEN_8086&DEV_25A3 = C:\Drivers\IntelInf\ich5ide.inf

;

; Added for ich5usb Controller Support

;

PCI\VEN_8086&DEV_24D2 = C:\Drivers\IntelInf\ich5usb.inf

PCI\VEN_8086&DEV_24D4 = C:\Drivers\IntelInf\ich5usb.inf

PCI\VEN_8086&DEV_24D7 = C:\Drivers\IntelInf\ich5usb.inf

PCI\VEN_8086&DEV_24DE = C:\Drivers\IntelInf\ich5usb.inf

PCI\VEN_8086&DEV_24DD = C:\Drivers\IntelInf\ich5usb.inf

PCI\VEN_8086&DEV_25A9 = C:\Drivers\IntelInf\ich5usb.inf

PCI\VEN_8086&DEV_25AA = C:\Drivers\IntelInf\ich5usb.inf

PCI\VEN_8086&DEV_25AD = C:\Drivers\IntelInf\ich5usb.inf

;

; Added for ich6core Controller Support

;

PCI\VEN_8086&DEV_2640 = C:\Drivers\IntelInf\ich6core.inf

PCI\VEN_8086&DEV_2641 = C:\Drivers\IntelInf\ich6core.inf

PCI\VEN_8086&DEV_2642 = C:\Drivers\IntelInf\ich6core.inf

PCI\VEN_8086&DEV_266A = C:\Drivers\IntelInf\ich6core.inf

PCI\VEN_8086&DEV_2660 = C:\Drivers\IntelInf\ich6core.inf

PCI\VEN_8086&DEV_2662 = C:\Drivers\IntelInf\ich6core.inf

PCI\VEN_8086&DEV_2664 = C:\Drivers\IntelInf\ich6core.inf

PCI\VEN_8086&DEV_2666 = C:\Drivers\IntelInf\ich6core.inf

;

; Added for ich6ide Controller Support

;

PCI\VEN_8086&DEV_2651 = C:\Drivers\IntelInf\ich6ide.inf

PCI\VEN_8086&DEV_2652 = C:\Drivers\IntelInf\ich6ide.inf

PCI\VEN_8086&DEV_2653 = C:\Drivers\IntelInf\ich6ide.inf

PCI\VEN_8086&DEV_266F = C:\Drivers\IntelInf\ich6ide.inf

;

; Added for ich6usb Controller Support

;

PCI\VEN_8086&DEV_2658 = C:\Drivers\IntelInf\ich6usb.inf

PCI\VEN_8086&DEV_2659 = C:\Drivers\IntelInf\ich6usb.inf

PCI\VEN_8086&DEV_265A = C:\Drivers\IntelInf\ich6usb.inf

PCI\VEN_8086&DEV_265B = C:\Drivers\IntelInf\ich6usb.inf

PCI\VEN_8086&DEV_265C = C:\Drivers\IntelInf\ich6usb.inf

;

; Added for ich7core Controller Support

;

PCI\VEN_8086&DEV_27B0 = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27B8 = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27B9 = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27BD = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27DA = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27D0 = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27D2 = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27D4 = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27D6 = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27E0 = C:\Drivers\IntelInf\ich7core.inf

PCI\VEN_8086&DEV_27E2 = C:\Drivers\IntelInf\ich7core.inf

;

; Added for ich7ide Controller Support

;

PCI\VEN_8086&DEV_27C0 = C:\Drivers\IntelInf\ich7ide.inf

PCI\VEN_8086&DEV_27C4 = C:\Drivers\IntelInf\ich7ide.inf

PCI\VEN_8086&DEV_27DF = C:\Drivers\IntelInf\ich7ide.inf

;

; Added for ich7usb Controller Support

;

PCI\VEN_8086&DEV_27C8 = C:\Drivers\IntelInf\ich7usb.inf

PCI\VEN_8086&DEV_27C9 = C:\Drivers\IntelInf\ich7usb.inf

PCI\VEN_8086&DEV_27CA = C:\Drivers\IntelInf\ich7usb.inf

PCI\VEN_8086&DEV_27CB = C:\Drivers\IntelInf\ich7usb.inf

PCI\VEN_8086&DEV_27CC = C:\Drivers\IntelInf\ich7usb.inf

;

; Added for ich8core Controller Support

;

PCI\VEN_8086&DEV_2810 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2811 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2812 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2814 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2815 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_283F = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2841 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2843 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2845 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2847 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_2849 = C:\Drivers\IntelInf\ich8core.inf

PCI\VEN_8086&DEV_284F = C:\Drivers\IntelInf\ich8core.inf

;

; Added for ich8ide Controller Support

;

PCI\VEN_8086&DEV_2820 = C:\Drivers\IntelInf\ich8ide.inf

PCI\VEN_8086&DEV_2825 = C:\Drivers\IntelInf\ich8ide.inf

PCI\VEN_8086&DEV_2828 = C:\Drivers\IntelInf\ich8ide.inf

PCI\VEN_8086&DEV_2850 = C:\Drivers\IntelInf\ich8ide.inf

;

; Added for ich8smb Controller Support

;

PCI\VEN_8086&DEV_283E = C:\Drivers\IntelInf\ich8smb.inf

;

; Added for ich8usb Controller Support

;

PCI\VEN_8086&DEV_2830 = C:\Drivers\IntelInf\ich8usb.inf

PCI\VEN_8086&DEV_2831 = C:\Drivers\IntelInf\ich8usb.inf

PCI\VEN_8086&DEV_2832 = C:\Drivers\IntelInf\ich8usb.inf

PCI\VEN_8086&DEV_2834 = C:\Drivers\IntelInf\ich8usb.inf

PCI\VEN_8086&DEV_2835 = C:\Drivers\IntelInf\ich8usb.inf

PCI\VEN_8086&DEV_2836 = C:\Drivers\IntelInf\ich8usb.inf

PCI\VEN_8086&DEV_283A = C:\Drivers\IntelInf\ich8usb.inf

;

; Added for ichXdev Controller Support

;

PCI\VEN_8086&DEV_537C = C:\Drivers\IntelInf\ichXdev.inf

;

; Added for ich9core Controller Support

;

PCI\VEN_8086&DEV_2910 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2911 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2912 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2913 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2914 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2915 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2940 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2942 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2944 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2946 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2948 = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_294A = C:\Drivers\IntelInf\ich9core.inf

PCI\VEN_8086&DEV_2932 = C:\Drivers\IntelInf\ich9core.inf

;

; Added for ich9ide Controller Support

PCI\VEN_8086&DEV_2920 = C:\Drivers\IntelInf\ich9ide.inf

PCI\VEN_8086&DEV_2921 = C:\Drivers\IntelInf\ich9ide.inf

PCI\VEN_8086&DEV_2926 = C:\Drivers\IntelInf\ich9ide.inf

PCI\VEN_8086&DEV_2928 = C:\Drivers\IntelInf\ich9ide.inf

PCI\VEN_8086&DEV_292D = C:\Drivers\IntelInf\ich9ide.inf

PCI\VEN_8086&DEV_292E = C:\Drivers\IntelInf\ich9ide.inf

;

;

; Added for ich9usb Controller Support

PCI\VEN_8086&DEV_2934 = C:\Drivers\IntelInf\ich9usb.inf

PCI\VEN_8086&DEV_2935 = C:\Drivers\IntelInf\ich9usb.inf

PCI\VEN_8086&DEV_2936 = C:\Drivers\IntelInf\ich9usb.inf

PCI\VEN_8086&DEV_2937 = C:\Drivers\IntelInf\ich9usb.inf

PCI\VEN_8086&DEV_2938 = C:\Drivers\IntelInf\ich9usb.inf

PCI\VEN_8086&DEV_2939 = C:\Drivers\IntelInf\ich9usb.inf

PCI\VEN_8086&DEV_293A = C:\Drivers\IntelInf\ich9usb.inf

PCI\VEN_8086&DEV_293C = C:\Drivers\IntelInf\ich9usb.inf

;

; Added for ich9smb Controller Support

PCI\VEN_8086&DEV_2930 = C:\Drivers\IntelInf\ich9smb.inf

;

; Below driverlist is XP builtin drivers,

; generated with sysprep -bmsd and copied here

;

pci\ven_8086&dev_2570=c:\windows\inf\machine.inf

pci\ven_8086&dev_2571=c:\windows\inf\machine.inf

pci\ven_8086&dev_2573=c:\windows\inf\machine.inf

BDD.log:

<![LOG[Successfully cleaned up existing C:\MININT directory.]LOG]!><time="09:56:31.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Starting minimized command prompt]LOG]!><time="09:56:31.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[cmd.exe: rc = 0]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Property DeploymentMethod is now = UNC]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[DeploymentMethod = UNC]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Property DeployRoot is now = X:\Deploy]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Using a local or mapped drive, no connection is required.]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Using a local or mapped drive, no connection is required.]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[DeployRoot = X:\Deploy]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Property DeployDrive is now = X:]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[DeployDrive = X:]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Property PHASE is now = PREINSTALL]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Property DeploymentType is now = NEWCOMPUTER]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Phase = PREINSTALL]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[About to run command: wscript.exe "X:\Deploy\Scripts\ZTIGather.wsf" /inifile:Bootstrap.ini]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Property inifile is now = Bootstrap.ini]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property Debug is now = FALSE]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[------------------------- Initialization -------------------------]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property DeployRoot is now = X:\Deploy]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property DeployDrive is now = X:]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Operating System = WinPE]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Is a server OS = False]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[OS current version = 6.0.6001]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[OS current build = 6001]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property OSVersion is now = WinPE]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property IsServerOS is now = False]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property OSCurrentVersion is now = 6.0.6001]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property OSCurrentBuild is now = 6001]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Is a server core OS = True]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property IsServerCoreOS is now = True]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[HAL Name = acpiapic]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property HALName is now = acpiapic]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Host name = MININT-IMIGJQN]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property HostName is now = MININT-IMIGJQN]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Unable to determine asset tag via WMI.]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[IsLaptop = True]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[IsDesktop = False]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[IsServer = False]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Serial number = HSYPD3J]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Processor architecture = X86]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Processor speed = 1801]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Capable architecture = AMD64 X64 X86]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Make = Dell Inc.]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Model = Latitude D630]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[UUID = 4C4C4544-0053-5910-8050-C8C04F44334A]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Product = 0KU184]LOG]!><time="09:56:32.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property AssetTag is now = ]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property SerialNumber is now = HSYPD3J]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property Make is now = Dell Inc.]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property Model is now = Latitude D630]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property Product is now = 0KU184]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property UUID is now = 4C4C4544-0053-5910-8050-C8C04F44334A]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property Memory is now = 1013]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property Architecture is now = X86]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property ProcessorSpeed is now = 1801]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property CapableArchitecture is now = AMD64 X64 X86]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property IsLaptop is now = True]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property IsDesktop is now = False]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property IsServer is now = False]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Checking network adapter: [00000000] Broadcom NetXtreme 57xx Gigabit Controller]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[MAC address = 00:1C:23:21:25:CC]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[IP Address = 10.17.96.100]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[IP Address = fe80::743f:aedd:31e9:6e34]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Default Gateway = 10.17.99.250]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Finished retrieving network info via WMI]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property IPAddress001 is now = 10.17.96.100]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property IPAddress002 is now = fe80::743f:aedd:31e9:6e34]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property MacAddress001 is now = 00:1C:23:21:25:CC]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property DefaultGateway001 is now = 10.17.99.250]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Unable to determine SMS distribution point server name]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[WDS server = w2003.BF]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property WDSServer is now = w2003.BF]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property OSDCOMPUTERNAME is now = MININT-IMIGJQN]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Processing the PREINSTALL phase.]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Using from [Settings]: Rule Priority = DEFAULT]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[------ Processing the [DEFAULT] section ------]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Property DEPLOYROOT is now = \\W2003\Distribution$]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Using from [DEFAULT]: DEPLOYROOT = \\W2003\Distribution$]LOG]!><time="09:56:33.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[------ Done processing X:\Deploy\Scripts\Bootstrap.ini ------]LOG]!><time="09:56:34.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[ZTIGather processing completed successfully.]LOG]!><time="09:56:34.000+000" date="06-13-2008" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">

<![LOG[Successfully executed command wscript.exe "X:\Deploy\Scripts\ZTIGather.wsf" /inifile:Bootstrap.ini, rc = 0]LOG]!><time="09:56:34.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[About to run command: wpeutil.exe ListKeyboardLayouts 1033]LOG]!><time="09:56:34.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Successfully executed command wpeutil.exe ListKeyboardLayouts 1033, rc = 0]LOG]!><time="09:56:34.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[About to run command: MSHTA.exe X:\Deploy\Scripts\Wizard.hta /definition:BDD_Welcome_ENU.xml]LOG]!><time="09:56:34.000+000" date="06-13-2008" component="LiteTouch" context="" type="1" thread="" file="LiteTouch">

<![LOG[Property WizardComplete is now = N]LOG]!><time="09:56:35.000+000" date="06-13-2008" component="Wizard" context="" type="1" thread="" file="Wizard">

Please could any one provide any assitance.

Regards.

# re: Driver Management (Part 2) - MDT 2008

Tuesday, June 17, 2008 9:23 AM by Isael

Situation:

MDT installed

Distribution with applications and drivers

OS targets the WDS images

Basic Custom Win XP SP3 without drivers.

Database and UserExit.vbs creating alias for IBM Models.

Problem:

When I build a client on a 6072 Machine the drivers are applied and installed

When building on a 8104 Machine the drivers are copied on c:\Drivers but not installed. I run Device MGR and can right click them to install automaticly ( DevicePath in registry seems ok )

Sysprep is updated by ZtiConfig properly with OEMDriversPath.

The autologon works, but since the network driver isnt installed , the bind to my deploy share can't be made.

In my setupapi.log I get error # 0xe0000219

On my Sound,Network,Video and TPM Drivers

I noticed that multiple folders are copied on c:\Drivers ie: 80.1.12.3 and 80.1.12.3(1) with same files. But I don't think it should cause the problem.

Any ideas ??

# re: Driver Management (Part 2) - MDT 2008

Tuesday, June 17, 2008 10:05 AM by Darren

I am using your method above with great results. The question I have is I am deploying to IBM/Lenovos and they have various 7 digit model numbers such as 814324U. The first four 8143 are the actual model and the next 3 I guess is the minor version of hardware setup. Sometime we have upto 10 different minor revisions of the same hardware. Is there a better way to handle this than having 10 different folders of the same drivers in my models share and 10 different Make Model db entries?

Thanks!

# re: Driver Management (Part 2) - MDT 2008

Thursday, June 19, 2008 5:16 AM by BenHunter

Hi Darren,

I like to use model aliases to do this. What I do is truncate the model type after the first four characters.

See the following blog post for more information on model aliases:

http://blogs.technet.com/benhunter/archive/2007/03/28/bdd-2007-tips-creating-model-aliases.aspx

Thanks,

Ben

# re: Driver Management (Part 2) - MDT 2008

Thursday, June 19, 2008 5:20 AM by BenHunter

Hi Isael,

I have seen this issue many times. Can you try adding the following line to the sysprep file you use to create your image.

[Unattended]

UpdateInstalledDrivers=yes

Here is some more info on what it does: