OSD – Injecting the Windows 7 Kernel Mode Driver Framework (KMDF)

In a recent blog post by fellow Dell TechCenter Rockstar Warren Byle, he announced that many of the new Dell models (this is likely true with other vendors as well) require drives based on the updated Kernel Mode Driver Framework (1.11 at the time of this writing) in order to function properly. With this new driver framework, Microsoft of course provides a hotfix that can be installed or injected into your Windows 7 image.

Now here is the “gotcha”, in order for this to work for OS Deployments, you have 2 options:

  1. Build a brand new WIM file and inject the hotfix (using MDT or DISM). Then import that WIM into SCCM for deployment, test, retest, retest, deploy to production. Not fun.
  2. Package it up and inject it offline during your existing deployments.

I don’t know about you but I prefer #2 and will inject the hotfix during my next image build. So lets go over the steps on just HOW to inject this hotfix (or any really) in an offline way using your existing OSD Task Sequence.

First things first!
Grab the download! Get the one appropriate for your architecture.

 

Extracting the Files

Ok, so you’ve downloaded the necessary files, placed them into a folder labeled “Windows 7 KMDF 1.11” or something like that. Next we need to extract the CAB file out of the .MSU since that is what DISM will use later on.

I prefer to use a tool like 7zip to do this. Just right-click, extract and voila!

Your folder should now look something like this:

 

Package the Files

Now I’m not going to go into details here, I assume that you already know how to create an SCCM package so copy your files, create your package (no program needed) and distribute the content to your DP(s).

 

Task Sequence

Ok, now the “dirty” work. Setting up your Task Sequence to inject the update offline.

The first thing you’ll want to do is check your Format and Partition step. Specifically, we are looking for (or need to set) a variable used to store the “real” drive letter for our OS partition. As you can see from the below screenshot, I’m using “OSDisk” as the Task Sequence variable.

Next we need a new Run Command Line Step to create a Scratch directory used by DISM. I create this because I actually inject quite a few items offline (depending on the scenario) and ensures that DISM has enough space to work with. This step goes anywhere AFTER the OS WIM is dropped onto the system but BEFORE the Setup Windows and ConfigMgr step runs. I have mine after the Apply Windows Settings step.

After the Scratch directory has been created (this gets removed as part of a Post-OSD cleanup script) we add yet another Run Command Line Step to actually inject the update. Here we are using DISM.EXE to inject the .CAB file we extracted earlier. Pay special attention to where %OSDisk% is referenced. You may need to change this to whatever variable you are referencing in your Format and Partition Step.

If you are having trouble reading that command, here it is (watch for word wrap!):

cmd.exe /c X:\windows\system32\dism.exe /ScratchDir:%OSDisk%\Scratch /Image:%OSDisk%\ /Add-Package /PackagePath:%_SMSTSMDataPath%\Packages\EB20019E\Windows6.1-KB2685811-x64.cab

 

And there you have it. Once these steps apply your driver framework should be updated. As Windows 7 first boots into the OS and begins to process the drivers you injected, it will be working with the updated framework and your system (and deployment tech) should be happy.

Advertisements

Author: dhedges

I'm a Senior Client Systems Engineer specializing in OS Deployments and Automation using VBScript, PowerShell, MDT and SCCM. I enjoy working with technology and bending it to my will.

91 thoughts on “OSD – Injecting the Windows 7 Kernel Mode Driver Framework (KMDF)”

  1. Thanks Dustin, great guide. I followed your steps but it failed to find the package content during the TS. Is this because I need to tell it to download all packages during the TS instead of running from DP?
    Also I’m assuming that EB20019E is your package name and we should swap that out with our own.
    Thanks again!
    Phil

  2. Sorry I answered both of my questions! Yes it has to download from DP instead of run from DP and I changed EB20019E to my package and now it works!
    Thanks very much. Btw, is there any way to run this and still have content run from DP?

    1. I ran into the same issue today since my Task Sequence was advertised to run from the DP directly so the package was never downloaded and I was not able to use the %_SMSTSMDataPath% variable. Instead I found another variable available in SCCM 2007 that pointed to the DP location on the network directly so my PackagePath section looks like: /PackagePath:%_SMSTSEB20019E%Windows6.1-KB2685811-x64.cab. Replace the “EB20019E” portion with your actual package ID. The variable should reference the network DP location like the following “\\SERVERNAME\SHARENAME\EB20019E\” and includes the trailing backslash so you don’t need it in the command line.

      The package still needs to be referenced in the Command Line step or the variable won’t be active during deployment.

  3. In the command line where you have /PackagePath:%_SMSTSMDataPath%\Packages\EB20019E\Windows6.1-KB2685811-x64.cab, Is EB20019E the package ID for your particular package, which means it needs to be changed to the appropriate package ID for a different package?

      1. HI I just tried to use this variables and still not working.
        how can i check that the syntex is ok before trying again and again to deploy?

  4. Thanks for the post, very helpful. However, I am getting the following issue when trying to update my Deployment Share in MDT2013 with the package:

    Deployment Image Servicing and Management tool
    Version: 6.3.9600.16384

    Image Version: 6.3.9600.16384

    Processing 1 of 1 – Adding package Package_for_KB2685811~31bf3856ad364e35~amd64~~6.1.1.11

    Error: 0x800f081e

    The specified package is not applicable to this image.

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

    Exit code = -2146498530

    Do you know how I could resolve this? I believe the issue is that the Windows OS version I am deploying (6.1.7601) does not match the OS version of the hotfix (6.1.1.11). Is there a different version of the hotfix I should be downloading, or a possible work around to get the deployment share updated with the package properly?

  5. Hi Dustin,
    I’m running into a similar issue, except that we are deploying our images via standalone USB drives. I also checked for the KMD 1.11 fix and that patch is already installed on the image. The same image works fine on a Optiplex 9020, and only takes about 20 minutes to install. The E6540 takes 5 hours. can you think of anything we may have overlooked?

    thanks.

  6. you said
    “%_SMSTSMDataPath% refers to a Task Sequence variable which indicates the root path to where SCCM is downloading packages.”

    How can i tell what the root path is? I dont think we have the packages folder

  7. I’ve followed the Dell site here to your page. For me, the problem is that the brand new laptop (E7400) requiring this hotfix doesn’t even allow it to launch the network driver correctly in WinPE, therefore it doesn’t get an IP address and fails to load the build process. How would injecting a hotfix into the image help with that, when it won’t even get as far as loading the image?
    I’m interested to know more as we’re trying to image laptops straight out of the box, it looks like we’d have to try and allow windows to load and then install the update before imaging.

    1. if you are not getting a network driver in winPE, this isn’t going to help you. You need to add the appropriate network (and storage) drivers to your winpe image. The OSD won’t start if it doesn’t have network and disk access

      once you are in your TS, this article may help.

  8. I was able to quite simply add the offline install to the task sequence before driver installation and choose that package and everything worked perfectly.

  9. After doing this I am finding that the setup is hanging on “Setup is applying system settings” for a fair amount of time. Is this normal?

    1. Hi David,

      While you could simply use a UNC path, you also introduce issues with network access permissions, availability, firewalls, etc. In addition, it’s not good practice for Standalone Media.

  10. You would be better off placing a command file along side the cab files in the SCCM package. Then call the command file from a run command line in the task sequence. That way you can use %~dp0 to get to the path of the package. Then it will work whether it runs from DP or not.

    Command filename: install.cmd

    Command file contents: Dism.exe /Image:”%1″ /Add-Package /PackagePath:”%~dp0Windows6.1-KB2685811-x86.cab” /NoRestart

    Run command line action: install.cmd %OSDTargetSystemDrive%

  11. Is it possible to do this without using SCCM(which we don’t have)? We just use MDT/WDS.

    Latitue 7440 for us with the latest cab file from Dell.

  12. hi, this is great info, thanks! quick question, I know you specify “newer models” like E6540, E6440, E7440, E7240, 3440, 3540, E5540, E5440
    but is there a chance that affects older model too with the latest drivers version (from dell’s driver pack)?
    I started to see some errors in my TS (not directly in the apply driver step) with dell latitude 2120 for example. Thanks

    1. It is not very likely but still possible. It is all up to the device manufacturer in what version of the framework they develop the drivers on. For us, we inject it for all models so all systems have the update (until we rebuild our base images again).

  13. Here is a suggestion… Instead of %_SMSTSMDataPath%\… you may need to use C:\_SMSTaskSequence\… in your path as %_SMSTSMDataPath% will evaluate to various places under WinPE depending on how many partitions/drives you have when you partition your HDD – i.e. I believe it will always evaluate to the largest drive. So, if you have a single partition, then it will be C:\_SMSTaskSequence\, but if you have two partitions or a, second drive, that is larger then it will evaluate to D:\_SMSTaskSequence\, etc. I have seen some KB articles stating that for this reason, using %_SMSTSMDataPath% in a Task Sequence should be avoided. This may be what is causing some of the failures others are experiencing. It was not working for me until I made this adjustment in my TS.

  14. When I try task sequence this is the error:
    The task sequence execution engine failed executing the action (Install MS KMDF 1.11 Update) in the group (Install component Offline) with the error code 2
    Action output: =======================[ smsswd.exe ] =======================
    PackageID = ”
    BaseVar = ”, ContinueOnError=”
    SwdAction = ‘0001’
    Command line for extension .exe is “%1” %*
    Set command line: Run command line
    Working dir ‘not set’
    Executing commandline: Run command line
    Process completed with exit code 2

    Deployment Image Servicing and Management tool
    Version: 6.1.7600.16385

    Error: 2

    Unable to access the image.
    Make sure that the image path and the Windows directory for the image exist and you have Read permissions on the folder.

    The DISM log file can be found at X:\WINDOWS\Logs\DISM\dism.log
    Command line returned 2. The operating system reported error 2: The system cannot find the file specified.

  15. HI

    I have used the same command line,

    cmd.exe /c X:\windows\system32\dism.exe /ScratchDir:%OSPART%\Scratch /Image:%OSPART%\ /Add-Package /PackagePath:%_SMSTSMDataPath%\Packages\PR100152\Windows6.1-KB2685811-x64.cab

    Where OSPART is my task sequence variable in Format and Partition Disk.

    But I’m getting the below error,

    Unable to access the image. InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    Make sure that the image path and the Windows directory for the image exist and you have Read permissions on the folder. InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    The DISM log file can be found at X:\WINDOWS\Logs\DISM\dism.log InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    Command line returned 2 InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    Entering ReleaseSource() for C:\_SMSTaskSequence\Packages\PR100152 InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    reference count 1 for the source C:\_SMSTaskSequence\Packages\PR100152 before releasing InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    Delete source directory C:\_SMSTaskSequence\Packages\PR100152 InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    Released the resolved source C:\_SMSTaskSequence\Packages\PR100152 InstallSoftware 1/23/2014 4:08:57 PM 1628 (0x065C)
    Process completed with exit code 2 TSManager 1/23/2014 4:08:57 PM 1640 (0x0668)
    !——————————————————————————————–! TSManager 1/23/2014 4:08:57 PM 1640 (0x0668)
    Failed to run the action: Install KDF 1.1 Update.
    The system cannot find the file specified. (Error: 00000002; Source: Windows) TSManager 1/23/2014 4:08:57 PM 1640 (0x0668)

    Please let me know where i did a mistake? and what i have to do to resolve?

    Regards
    Esakki

  16. Does this apply to Winodws 8.1? The KMDF built into Windows 8.1 is v. 1.13 right? I’m still having an issue with 3 drivers not getting applied correctly. The o2 Card Reader; the Realtek HD Audio driver; and the SM Bus Controller.

  17. thx for this excellent guide.

    I created my KB package directly under Packages ( not in a underlying Folder ).
    Am I still suppose to use the packagePath you specified /PackagePath:%_SMSTSMDataPath%\Packages\EB20019E\ or is the ” \EB20019E\ ” bit of the packafePath the name of the underlying folder under Packages that you are using in this guid?

  18. Hi. I followed step 2 and get the following error. Any ideas?

    An error occurred trying to open – C:\_SMSTaskSequence\Packages\BR100148\Windows6.1-KB2685811-x64.cab Error: 0x80070003

    Failed to run the action: Install MS KMDF 1.11 Update.
    The system cannot find the path specified. (Error: 00000003; Source: Windows)

  19. Above suggestions regarding injecting the kmdf into the install.wim are in my opinion incomplete. To inject the update one must mount the wim to a directory, do a /add-package and unmount and confirm the change. Problem is that it only updates the install.wim, not the boot.wim of WinPE, where the kmdf is also needed during driver injection with SCCM. With SCCM 2007 SP3 and WinPE 3.1 this will not work since there is no kmdf 1.11 for WinPE available.

  20. why does the following not work for me?

    cmd.exe /c X:\Windows\System32\Dism.exe /ScratchDir:%OSPart%\Scratch /Image:%OSPart%\ /Add-Package /PackagePath:”%~dp0Windows6.1-KB2685811-x86.cab” /NoRestart /quiet

    at first it couldn’t see the resource so I set the task to “Run as” at which point it told me I couldn’t do a “Run as” for a “Run command line” while in WinPE.

      1. I don’t agree with you at all. The whole point of this article is to offline service the WIM image that has just been applied during WInPE. So that you don’t have to update your physical WIM images as you are suggesting. Updating the images in the way you suggest can be very painful for some envrionments especially when you have lot of images.

    1. I would need to look over your dism.log file in C:\WIndows\Logs\Dism to know for sure but I would drop the cmd.exe /c and just start your command with Dism.exe (without path in front). That way %~dp0 used in the /PackagePath will resolve to your package source directory instead of a local path in WinPE.

  21. I tried it w/o the path in front of DISM. I get the following TS error:

    COM\SMSPKGH$\CH2000E0\ with default account Connection request for “\\.COM\SMSPKGH$\CH2000E0” No credentials available for connecting to “\\.COM\SMSPKGH$\CH2000E0”. See whether the share has already been connected. Connecting to “\\.COM\SMSPKGH$\CH2000E0” Successfully connected to “\\.COM\SMSPKGH$\CH2000E0” Resolved source to ‘\\.COM\SMSPKGH$\CH2000E0’ Command line for extension .exe is “%1” %*Set command line: Run command line Working dir ‘\\.COM\SMSPKGH$\CH2000E0’ Executing command line: Run command line Process completed with exit code 3 Error: 3 The system cannot find the path specified. Command line returned3 Entering ReleaseSource() for \\.COM\SMSPKGH$\CH2000E0reference count 1 for the source \\.COM\SMSPKGH$\CH2000E0\ before releasing Released the resolved source \\.COM\SMSPKGH$\CH2000E0\

    I tried moving this step after the step that add’s the computer to the domain, but it still does not worked. I also tried anabling the “Allow this package to be transferred via multicast (WinPE only)” package property and that didn’t work either.

    There are no entries in the DISM.log with today’s date. It’s not getting that far.

    I’ve confirmed the share exists and the full path to the file is correct. So the “~dp0” part seems to be working. It’s just that the task cannot access the share.

    1. This update is not Dell specific and I would recommend injecting this during runtime (or into your reference image) for all models. Many newer models will have drivers written using the updated driver framework and will need this update to function properly.

      1. Thanks for the quick turn around on the reply! I’ve heard reports of strange behavior when this driver isn’t included so I’ll start testing this on my other platforms.

        Thanks!

      2. Would it be best to merely add the package using DISM to the mounted WIM file, committing the changes and reimporting the WIM file back into MDT?

      3. Depending on your environment, yes. I have a number of sites with slow links so redistributing the OS image with every update isn’t all that appealing. I rebuild my images quarterly so using this method allows me to inject updates at runtime until the next image build cycle.

  22. One more thing, you may want to add a note to the command line step to inject drivers warning the reader to substitute the correct package ID in for the one you list (EB20019E)

  23. I’m trying to deploy this .msu file in an image capture TS. It’s been packaged for use in SCCM, and is being called in the TS via the Install Software object. When the SCCM Program properties does not specify wusa.exe (wusa.exe kmdf-1.11-Win-6.1-x86.msu /quiet /norestart) in the command line, the installer fails with an unknown error reported. When the wusa.exe does preceed the package name, the installer runs without error, returns win32 exit code 0, and the image build and capture proceed as expected. However, when that .wim file is deployed to a machine via an SCCM TS, the KMDF 1.11 is not shown in the Add/Remove Programs Show Windows Updates section. Then, when the package (kmdf-1.11-Win-6.1-x86.msu) is run on that very same machine through double clicking in a Windows Explorer session, the package executes and actually installs the KDMF. Any thoughts?

  24. My images has KMDF 1.11 injected via WSUS but I still get the error on Dell Latitude E5440. A strange thing is that only some of the computers that get deployed via SCCM get this error.

  25. This is what I get upon doing what is described in the article. Note the “UNC PATHS ARE NOT SUPPORTED. DEFAULTING TO WINDOWS DIRECTORY”

    smsts.log:

    CMD.EXE was started with the above path as the current directory. InstallSoftware 19/03/2014 12:12:33 p.m. 1844 (0x0734)
    UNC paths are not supported. Defaulting to Windows directory. InstallSoftware 19/03/2014 12:12:33 p.m. 1844 (0x0734)
    Image Version: 6.1.7601.17514 InstallSoftware 19/03/2014 12:12:36 p.m. 1844 (0x0734)
    InstallSoftware 19/03/2014 12:12:36 p.m. 1844 (0x0734)
    An error occurred trying to open – %_SMSTSMDataPath%\Packages\XXXXXX\Windows6.1-KB2685811-x86.cab Error: 0x80070003 InstallSoftware 19/03/2014 12:12:37 p.m. 1844 (0x0734)
    Process completed with exit code 3 InstallSoftware 19/03/2014 12:12:38 p.m. 1844 (0x0734)
    InstallSoftware 19/03/2014 12:12:38 p.m. 1844 (0x0734)
    Error: 3 InstallSoftware 19/03/2014 12:12:38 p.m. 1844 (0x0734)
    InstallSoftware 19/03/2014 12:12:38 p.m. 1844 (0x0734)
    The system cannot find the path specified. InstallSoftware 19/03/2014 12:12:38 p.m. 1844 (0x0734)

    Anyone having the same issue?

  26. Very grateful for the information

    I incorporated it faultlessly into our main W7 task sequence, but it didn’t work when running from stand alone USB sticks, despite ticking the ‘package’ box and browsing to the KB2685811 package.

    I was thinking of adding another command line after the one you suggested…

    if exist e:\sms\pkg\b010055b\windows6.1-KB2685811-x86.cab cmd.exe /c X:\windows\system32\dism.exe /ScratchDir:%OSDisk%\Scratch /Image:%OSDisk%\ /Add-Package /PackagePath:e:\sms\pkg\B010055B\Windows6.1-KB2685811-x86.cab

    …but wondered if there was perhaps a more eloquent way of doing this.

    Thanks in advance
    James

    1. I approached it differently in the end, adding a a condition on the options tab on the normal one to only run if ‘_SMSTSMediaType’ not equals ‘FullMedia’ and the opposite on the one targeted at stand-alone builds.

      Still be interested to hear if there is a trick I’m missing here.

      Thanks

      James

      1. That’s an interesting issue and one that I’m not currently familiar with. We don’t currently utilize Standalone Media however we do plan on using it in the near future.

  27. 1. Import the Kernel-Mode update into MDT Packages.
    2. Create a Selection Profile under “Advanced Configuration” to include this package.
    3. In Task Sequence add “Install Update Offline” after the OS install and before WinPE reboot, and select your new Selection Profile create in step 2.

  28. I am trying to get this to work, but running into a few issues. I am hoping you can help!

    The original command you wrote won’t work for a TS that is running directly from the DP. Since it doesn’t copy the package locally, it is unable to find the package. I figured I could work around this by using the %_SMSTS variable and running from the DP directly, but that also fails because I get “UNC paths are not supported. Defaulting to Windows directory”

    This is the one that fails:

    cmd.exe /c X:\windows\system32\dism.exe /ScratchDir:%OSDisk%\Scratch /Image:%OSDisk%\ /Add-Package /PackagePath:%_SMSTSPKG00001%Windows6.1-KB2685811-x86.cab

    Is there a way to get this to work while running from the DP? I tried creating a program instead, but obviously that can only run after the SCCM client is installed.

    Any ideas? Thanks!

    1. Hi Ryan,

      I think the best way for you to accomplish this is to have a step execute before the DISM command line that actually copies the .MSU file from the DP, down to the local system. Then supply the exact path to the file.

    2. Hey if you look above, that is exactly what happened to us.. TS directly running from DP and unc path not supported.
      Our workaround was copying the patch content onto Our MDT package and, in t’he run command líne step, replace the location with %deployroot%\patchfolder. That way it executed like a charm

      1. Thanks guys. I ended up just mapping a drive as Q: in the TS using the “Connect to Network Folder”. Using the %_SMSTS% variable, it maps back to the correct location and executes correctly. Thanks!

  29. hi, i like to share my experience with this, i found a much easier way to do this, download DISM GUI 3.5 from the net, run it as administrator, mount your WIM, go to package management point it to the location of your KMDF, click add package and wait, after its done, Dismount your
    WIM and thats it your done. pls share your experience if you use this method.

    1. I know that the author’s intent was to not modify the WIM due to having to retest etc etc, but I agree with Raed that in my case it was much easier to use DISM to add KMDF to the WIM.

  30. For those who don’t deploy packages locally. Here’s the syntax of the .BAT: Dism.exe /Image:”%1″ /Add-Package /PackagePath:”%~dp0Windows6.1-KB2685811-x64.cab” /NoRestart

    Then in the Task sequence I run command line, with install.BAT %OSDISK%

  31. This is very odd. I am experiencing this problem with my newer models, but I already have KMDF 1.11 in my WIM image. Also, the problem only exists when I deploy via a driver package, but does not happen if I use the “Auto Apply Driver” task. I am not seeing anything about this on any of these threads concerning this oddity. Ideas?

  32. Very interesting post. However, my deployment runs from the DP so it does not download the package. I added the .CAB file to the MDT 2012 package in SCCM. This way i can change :%_SMSTSMDataPath% to %DEPLOYROOT%\wherever_your_CAB_file_is.
    When scrolling up i saw that someone else already posted this solution.

  33. Hi @ everyone!

    I’ve tried this nice tutorial and it works great for me with this command line for network install: cmd.exe /c X:\windows\system32\dism.exe /ScratchDir:%SYSTEM%\Scratch /Image:%SYSTEM%\ /Add-Package /PackagePath:%_SMSTSMDataPath%\Packages\PAT0005C\Windows6.1-KB2685811-x86.cab
    but now the problem if i create a ts MEDIA standalone it everytime brings the same error, that the file can not be found. C:= system x:= boot and variable d: or e: (if i’ve a cd rom) = usb-stick.

    if i set up over media it wont copy the package to %SYSTEM%\_SMSTaskSequence\Packages\PAT0005C and so i’ve created a mkdir and an xcopy bevore dism starts.
    but then dism have not enough privilleges to inject the cab file!!??

    if i mount the wim file directly with dism and try to inject the cab file i’ll get the error 2 that i’ve not enough rights to access the image folder or image’s windows folder!?

    can anybody please help me to create a task sequence for both DP and standalone images?!

    1. Hi again!

      I’ve finally injected the cab file into the wim – the error was MCAFEE, but after i,ve done this it isn’t possible to install Applications from TS Media – From Network it works perfect.

      Does anyone also have this issue, or a a little hint for me how to solve this?

      Thanks

  34. We have some Dell E6440 laptops and I’m kinda lost on what I need to do as far as getting this hotfix to upload to our DP/TS. I’ve downloaded the fix on our SCCM server and I’ve made a package for it but when I try to run the command, cmd.exe /c X:\windows\system32\dism.exe /ScratchDir:%SYSTEM%\Scratch /Image:%SYSTEM%\ /Add-Package /PackagePath:%_SMSTSMDataPath%\Packages\PAT0005C\Windows6.1-KB2685811-x86.cab I’m lost as to what variables am I to change on our side. If someone could break this down line by line it would be greatly appreciated.

    Thanks,

    Andre

  35. Hoping this is still being monitored, but judging from a lack of answers lately, I’m not so sure. I’m confused as to how the Task Sequence is to know to download the package when it’s not referenced anywhere in the TS itself (unless I’ve missed that step somewhere). From what I can tell, we create to Run Command Line tasks, 1 to create the scratch directory and the 2nd to install the Hotfix. While the command line references the package location as a switch, the TS itself never references it and therefore never downloads it, causing that package location switch to simply fail out. Again, maybe I’ve just missed something obvious and I’m hoping that it can be pointed out.

    As it stands now, I’ve done what’s stated and it fails saying it cannot file the file location. I open up _SMSTaskSequence and the package for the hotfix is not there.

  36. I am one of those people who have both the KMDF and UMDF updates integrated into my WIM for some time now, but now that we are deploying newer Dell models like E5x40s, E6x40s and the M6800 I have seeing this issue intermittently. Maybe 10-15% of deployments to these machines fail where device drivers are being installed while the rest of the deployments go fine.

    I have tried generating a new WIM file and that did not help. I have verified both my original WIM and new WIM have the updates integrated by checking with DISM. I even made a WIM without the updates and integrated in the method Dustin shows and still had failures happen.

    It seems for most people this solves the issue, but for me it has not resolved it and I am unsure of where to go from here. Has anyone else experienced this and found a reason or resolution or any ideas to try?

  37. Yes, by this point the majority of people would likely build this into their WIM. At the time of writing the article this was intended as a quick way to include this (or other) updates without having to rebuild your base image.

  38. I’m also having issues deploying to newer dell systems even though both updates are on my image. Did any of you guys who had the same problem find a solution to this?

    1. Our Company have installed the last update of SCCM R2 and suddenly the Images could be Installed without the infect solution.

      br

  39. Just wanted to say thanks! I used this article to fix the issue I was having with my OSD. Funny thing is, it worked all summer. Then after another unrelated issue I suddenly needed to do this.

  40. Should we be adding User-Mode Driver Framework apart from Kernel-Mode Driver Framework? I have only added KMFD but wondering if its worth adding UMDF too?

  41. We are in the process of migrating from zenworks to SCCM. Our working TS will image some of our Optiplex 7010’s However the newer half of 7010’s andOptiplex 7020 always fail to join the domain during the TS. After all this reading I have tried to inject the KMDF into our INstall.wim. Same issue, will not join domain. I am now trying to add this cab file to our boot.wim but cant get it to inject without errors. Would love some help. Have tried working with microsoft but the person helping me is clueless about this issue.

    1. I have injected the cab file into our boot.wim and still have issues with our TS joining the domain.

    2. Are you using the default Install.WIM file or a captured WIM from MDT? I only use MDT to capture images and then use those to deploy via SCCM. There could be an issue injecting directly into the default install.wim file.

  42. Not sure what the deal is, but I went in and did dism /? and under the current PE environment the add package option isn’t available. I even typed the command manually as above and it doesn’t know what it means either.
    I’m using SCCM 2012 SP1 CU5.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s