Windows Driver Deployment - Task Sequence RRS feed


All replies

  • If you are following the 'Total Control method' from (which was what was ultimately the answer Dan gave) that shouldn't be possible.  You might want to make sure your TS steps are correct as per the Johan's post.  If everything looks correct then post your logs.

    Friday, December 18, 2015 10:06 PM
  • Thanks for the reply but I have a few question around total control as it does not make full sense to me.

    For the most part that is I used step 3 Total Control.

    I don't agree that selection profile being set should be set via a selection profile to windows 7 x64 as it doesn't account for Windows 8, or 10. Simply leave it set to all Drivers and Packages, because in the total control method the task sequence being set for Windows 7,8 or 10. My question: Why bother setting the driver injection on the x64 Platform to W7 selection profile vs. leaving it at its default value of All Drivers and Packages? The reason I ask is that below and on his page you are setting up TS that would define the driver location

    Details about my setup:

    For me I use TS called "Set Task Sequence Variable" defined as DriverGroup001 and it's pointed at x64\%model% (Windows 7x64) - Next TS "Inject drivers" the Selection Profile was set to "nothing" for the profile and radio box was marked to "Install only matching drivers from the selection profile". Note I just changed this to my Windows 7 x64, so all drivers for W7 are reviewed. Then my last TS "TS Inject drivers" which deploy's misc drivers like Label printers etc.

    Based on my understanding in my second TS of Inject Drivers I should not have to select the drivers profile location given the declared variable and explicit path for Windows 7 drivers to be reviewed.  But given my issues I will try pointing it to my Windows 7 x64 selection profile and retest and report back.

    My windows 10 deployment is pretty much the same only except the DriverGroup is "DriverGroup0002" and is pointed at windows10\%Model%

    Monday, December 21, 2015 2:01 PM
  • I tried it without changing the Selection profile to Windows 7 drivers and it still errored when deploying. I then changed it to point to windows 7 drivers for the boot profile and rebuilt the boot image and saw the following error in my log: (this is the driver I am having the issue with).

    There was a problem opening the INF file. C:\DeploymentShare\Out-of-box Drivers\System\amdkmpfd (59)_15.20.0.0000_2076B46439E48537714B0223B492A772DB5CDB2E\iaAHCIC.inf Error: 0x80070490.

    Error: 2

    No driver packages were found on the specified path.
    Verify that the driver .INF files are in the specified location and try the command again.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

    Exit code = 2

    DISM /Remove-Driver failed, rc = 2.
    Removed driver Intel Corporation hdc iaAHCIC.inf (2)

    I then tried to rebuild the whole image, and since updating from windows 8 ADK to windows 10ADK my compiles frequently seem to crash. Upon clicking close or check online the build seems to finish, so perhaps my issue is caused by the error?

    DISM Host stopped responding

    Monday, December 21, 2015 5:18 PM
  • Since you are using ADK 10 it would be windows 10 drivers. The reason you would use the selection profile is it is much more reliable.

    Logs are very important. Mention any customizations you have made.

    Monday, December 21, 2015 6:01 PM
  • Sorry maybe I am confused it sounds like you are suggesting that I should be select the W10 drivers in the MDT Boot Properties as opposed to W7 as that is  what is implied in the link

    They have W8 and W7 and choose to use the W7 drivers for the boot portion.

    Monday, December 21, 2015 7:00 PM
  • Driver management for boot images and task-sequences should be completely separated.

    I only use Selection Profiles for Windows PE drivers, you don't need them for the actual OS.

    As I use ADK 10 aswell, I have created a PE 10 x64 Selection Profile and only inject storage and network drivers from that profile into Windows PE.

    The DriverGroup within your Task-Sequence will reference a folder, because of that you don't need a selection profile here.
    If you are deploying Windows 7 the DriverGroup should refer to Windows 7 drivers of course.
    Boot the boot image you used to deploy Windows 7 has Windows 10 drivers included, because it was created using the new ADK.

    Hope you understand what I'm after :)

    Monday, December 21, 2015 7:48 PM
  • Bearing in mind that the guide was written for MDT 2013 which used ADK 8.1:
    You should only use Windows 8.1 drivers for the boot images, even if you plan to deploy Windows 7 SP1 with MDT 2013 Lite Touch.      
     One could infer that if you are using ADK 10 that you should only use Windows 10 drivers.

    Logs are very important. Mention any customizations you have made.

    Monday, December 21, 2015 8:27 PM
  • What's New in MDT 2013 Update 1

    • Support for the Windows Assessment and Deployment Kit (ADK) for Windows 10
    • Support for deployment and upgrade of Windows 10
    • Support for integration with System Center 2012 R2 Configuration Manager SP1
      with the Windows 10 ADK

    From what I can tell you can not deploy Windows 10 with the W8 ADK... I tried and it failed every time. Once I updated the ADK I could deploy 10 - So the dilemma is how can I deploy both W7 & W10 via my deployment server
    • Edited by n_t_schultz Tuesday, December 22, 2015 7:04 PM added some notes
    Tuesday, December 22, 2015 6:31 PM
  • The problematic machine is the 7010 image it works if I remove all drivers, so does seem driver related. I have removed and added the Dell driver pack and the issue persist.

    What I did yesterday...

     1) stopped windows deployment and set services to manual. 2) Rebooted Deployment server 3) Uninstalled W10 ADK 4)Rebooted 5) Re-installed the ADK 6) Rebuilt boot image  7) deployed image and it failed.. Windows boots but blue screens so there is no panther log to collect.

    The stop error is 0x0000007e (0Xffffffffc00000005,0x00000000000,0xfffff88003fc2,0xfffff880033E078E8,0XFFFFF880033E0040)

    The set ending in 78E8 seems to change with each boot.

    Below is the Setup\Config for my deployment... It had been working fine prior to adding W10 support.

    • Edited by n_t_schultz Tuesday, December 22, 2015 6:50 PM added info about which system
    Tuesday, December 22, 2015 6:48 PM
  • First of all I would get rid of those selection profiles.
    As already explained you have the DriverGroup for that, you only need Profiles for the Windows PE drivers.

    Please reread the Full Control method, your current state is somewhere in between.

    -> Use everything as selection profile
    -> Install ALL drivers from this selection profiles
    -> Only use PE drivers for the boot image, Dell has special packages for this...
    -> Create a selection profiles for these PE specific drivers

    I can only repeat this:
    Keep your driver structure between the Task Sequences and the boot image separated!

    I have quite a similar environment and facing no issues whatsoever.

    • Edited by oriooff Tuesday, December 22, 2015 7:09 PM
    Tuesday, December 22, 2015 7:08 PM
  • Ok. I will try the following.

    1) Make a PE W10 X64 directory Nic and Storage Drivers only.

    2) Then create a new selection profile and set PE to point to that directory.

    3) Delete all other selection profiles and allow my TS to do their job.

    Tuesday, December 22, 2015 7:47 PM
  • You are not doing total control correctly. Simplify and follow the directions.

    Logs are very important. Mention any customizations you have made.

    Tuesday, December 22, 2015 11:02 PM
  • Prior to my last post the only differences for total control are 1. I did not check the box for install all matching drivers in the Task Sequence 2) Not separating PE boot drivers I am following that method. If there is something you noticed can you tell me what I am missing? 

    I reviewed the video on logs... I will have to pull the hard drive and grab the BDD.log manually as the logs are not written back to the deployment share until after boot sequence has been completed.
    • Edited by n_t_schultz Wednesday, December 23, 2015 8:16 PM add info about logs.
    Wednesday, December 23, 2015 7:45 PM
  • I completed the following steps to address the driver issue with the 7010 deployment of windows 7 and it fails. I did test my 7010 Windows 10 deployment and that works. Additionally note I DriverGroup002 For W10 deployment.

    What I have done so far

    1) Make a PE W10 X64 directory Nic and Storage Drivers only.

    2) Then create a new selection profile and set PE to point to that directory.

    3) Delete all other selection profiles and allow my TS to do their job.

    4) Rebuilt the PE Image

    5) Rebooted the server.

    What I see happening during the Inject drivers whether or not the "Install only matching driver from the selection profile" or "Install all Drivers from Selection Profile" are that all drivers from both A & B are being deployed, rather than injecting the 6 drivers I have listed in the OptiPlex 7010. Below are two groups of screenshots. The first is the PE setup the second is the Windows 7 deployment task sequence detail. Please note the screen shot for the W7 deployment also does a deploy Misc Drivers, and for that I only include a few USB Dongle nics that folks on occasion use.

    As noted by Ty - apparently missing a step for the total control setup - If someone see what I am missing could you let me know as it appears I am still missing the step that would fix this issue.

    PE environment setup

    • Edited by n_t_schultz Wednesday, December 23, 2015 8:00 PM clarified opening
    Wednesday, December 23, 2015 7:54 PM
  • 1) I recommand using the Dell WinPE Driver pack for Windows 10 instead of managing the drivers this way, but that's up to you. WinPE boot image generation and start doesn't seem to be your problem atm.
    Dell Command | Deploy WinPE 10.0 Driver Pack

    2) If you use the Dell Driver Pack I linked you should switch to 'Include all drivers from that selection profile' for your Windows PE image. It doesn't contain any unnecessary stuff, so it's too risky to do otherwise. (Not sure about your Lenovo Hardware)

    3) You did? Then why are you using a Windows 7 x64 and a Deploy Misc Drivers profile? Use Nothing as profile and select 'Install ALL drivers'
    This can be seen in the last screenshot of the Full Control method, but you are still ignoring this!

    4) That's right, don't forget to update it on the WDS Server as well!

    5) Should not be required but why not...

    Some additional notes:
    There is no need to use DriverGroup002 in the Windows 10 Task Sequence just because you already used DriverGroup001 in your Windows 7 Task Sequence. They are independent from each other.
    I am not even sure without reading the scripts if it works to use DriverGroup002 without setting DriverGroup001 first...
    -> Change it to DriverGroup001 in your Windows 10 Task Sequence

    Also remove the second Inject Drivers step.
    What you want is to set DriverGroup002 in this case and point it to the folder containing your additional drivers.

    Merry Christmas in advance :)

    PS: As far as I know the DriverGroup is being ignored if your selection profile is anything else than Nothing.

    • Edited by oriooff Wednesday, December 23, 2015 8:29 PM
    Wednesday, December 23, 2015 8:27 PM
  • There are 2 major things that jump out here.

    1. The way you have this setup your drivergroup001 will never matter when installing. Total control needs a nothing profile. If you have a selection profile set the driver group isn't used. It is either or never both.

    2. And you are going to have far too many drivers in WinPE. If you are bugchecking like the 0x7e earlier you need to simplify. WinPE drivers should only be what is missing. 7010 requires nothing for WinPE 10. Eliminate everything and start simple. My WinPE has maybe 10 out of box drivers required...

    Logs are very important. Mention any customizations you have made.

    Wednesday, December 23, 2015 8:27 PM
  • Thanks. I was certainly mistaken...  as noted in part 3. - I saw the driver group in the first part as that is what he did, and assumed you defined it first to the group and the proceeded with the driver group variable. However, the additional driver step is nice to load drivers that for label printers and USB nics... I will try to leave it and will remove it if this update does not address the issue.

    I do typically use the Dell Driver packs for the individual machines, but for the sake of troubleshooting I made folders for each, so in the event of future issues they can be easily removed and updated.

    Merry Christmas to you all!!

    Wednesday, December 23, 2015 8:35 PM
  • I probably have 20 models of Dells and 10 models for Lenovo to contend with.

    For the PE environment I am only loading NIC and storage drivers and I am not importing duplicates.

    For windows drivers I do allow copy of duplicates as if the driver is not in the folder for the matched profile then the driver goes missing, at least that is my understanding.

    You are correct, I had an extra TS - which I assumed was necessary. I thought he was building on the total control method and assumed it was needed. I will remove it and retest.

    Thanks and Merry Christmas...

    Wednesday, December 23, 2015 8:39 PM
  • I made the switch to include all drivers.

    I removed the TS for deploy Misc Drivers

    I removed the extra TS that called the driver group as you noted.

    See screenshot below... I watch during the inject drivers and it is loading the Windows 10 drivers for my Windows 7 Deployment. The funny thing is, is that I even renamed the W10 driver folder for 7010 yet it is being applied... I saw the Advanced Micro Device Media ATIHD... v10.0.0.0 driver get pushed. Very odd..

    Any thoughts on next steps? I can get the BDD.Log from the local machine after the holidays if needed.

    For the PE environment I only load

    For the PE environment I only load the PE Boot W10 x64 drivers as noted in an early post, and that was a change from how I was doing it. Now only my Task Sequences look at either x64\%model% or windows10\x64\%model%

    • Edited by n_t_schultz Wednesday, December 23, 2015 10:40 PM clarification
    Wednesday, December 23, 2015 10:39 PM
  • Post your BDD.log

    Logs are very important. Mention any customizations you have made.

    Thursday, December 24, 2015 6:30 AM
  • Below is more info and highlights from the log (see below).

    Here is the link to the full log

    Please note I changed the name of the server to \\imgsvr.

    <![LOG[Property DriverGroup001 is now = x64\OptiPlex 7010]LOG]!><time="15:41:45.000+000" date="12-23-2015" component="ZTISetVariable" context="" type="1" thread="" file="ZTISetVariable">

    <![LOG[Copying drivers from "\\imgsvr\DeploymentShare$\Out-of-box Drivers\Net\E1r62x64_12.4.36.0_9E338E05E919ECCCD229EC60235E1D7833E633A3_(1)" to "C:\Drivers\Net\E1r62x64_12.4.36.0_9E338E05E919ECCCD229EC60235E1D7833E633A3_(1)"]LOG]!><time="15:41:50.000+000" date="12-23-2015" component="ZTIDrivers" context="" type="1" thread="" file="ZTIDrivers">

    Then... It goes to:

    <![LOG[Found a driver for Device: {f5a4f8c1-bfc7-4265-8c2c-28fdb083d855} from \\imgsvr\DeploymentShare$\Out-of-box Drivers\System\amdkmpfd (59)_15.20.0.0000_2076B46439E48537714B0223B492A772DB5CDB2E\AtihdWT6 (195).inf]LOG]!><time="15:41:51.000+000" date="12-23-2015" component="ZTIDrivers" context="" type="1" thread="" file="ZTIDrivers">

    According to the what the is shown in the screenshot below the drivers should be considered.

    • Edited by ntschultz Monday, December 28, 2015 2:29 PM Fixed the hyper link
    Monday, December 28, 2015 2:01 PM
  • I would like to thank you both for all your help last week.  Long story short I was able to finally get this resolved, see below for what I did to resolve this. However, I was wondering about forcibly delete drivers  & import duplicates.

    Question 1: I assume I need to allow for import duplicate drivers based on Task Sequences for total control method, is this correct?

    My thought is Yes, even though drivers are stored in the central repository the mapping (AKA pseudo folder structure) is held in XML, so if the TS looks for a driver and the driver does not exist in platform specific folder then the driver would not be installed.

    Question 2: I assume the options "Completely delete these items, even if there copies in other folders (Force)" would remove it everywhere for all makes and models of computers.

    The reason I am asking this now, is that, the Task Sequence labeled descriptions like  "Install all drivers from selection profile" as already noted as being somewhat unclear. And I want to make sure what I understand\assume is correct.

    Based on what I saw in the log I used these steps to resolve the issue - still not sure why the issue occurred, but at least it is working now:

    1) delete folder OptiPlex 7010 folder from OOB \x64 for W7 drivers

    2) Forcibly deleted OptiPlex 7010 from OOB Window10\x64 drivers.

    3) Create new OptiPlex 7010 folder in \x64 for W7

               a) Added back W7 Opti 7010 drivers

    4) Tested and confirmed image completes.

    5) Created new OptiPlex 7010 in the OOB Window10\x64

              b) Added back W10 Opti 7010 drivers

    6) Confirmed Image still works.

    • Edited by ntschultz Monday, December 28, 2015 8:45 PM clearing up details
    Monday, December 28, 2015 8:29 PM
  • I did resolve the DSIM crashing...

    1) stopped WD Services

    2) set service to manual

    3) Rebooted

    4) Uninstalled AIK 10

    5) Rebooted

    6) Reinstalled AIK 10

    7) set WD Services to Auto

    8) Rebooted.

    Monday, December 28, 2015 8:49 PM
  • I don't think that you have to select the import duplicate drivers check-box.
    Never done that and facing no problems.

    However the second checkbox is very dangerous if you did not import duplicate drivers (which is the default setting). If you select this, it will remove the driver from the share although there might still be references for a different model to this exact driver. This causes an inconsistent state.
    Maybe this happened in your scenario, not easy to tell.
    Glad you sorted it out!

    Sometimes there can be other strange issues.
    I just had to re-select a profile for my boot image after I changed it's name though everything was correct in the UI...
    • Edited by oriooff Monday, December 28, 2015 11:18 PM
    Monday, December 28, 2015 11:16 PM