Thursday, March 6, 2014

KMDF Related Issues

I have seen a strange problem when we target the drivers as software package the installation was never triggered in the Task sequence, When we look for an alternative to make this package as PnP it will fail some time the package will install however we will get below error screen, clip_image002

By looking at the error screen… we can think of it could be sysprep issue or unattended.xml issue but that is not the case. I have even suspected the issue with “Open File Security Warning” but interestingly this is not the case. I have also tested on SCCM 2007 and 2012 I got the same errors and When I have changed my program command lines execution method i.e., sometimes I used .Bat, .CMD, .PS1 and .Vbs atleast sometimes it works sometimes it is not working………. But the root cause is un-known…. When investigated further found below….

Issue was Experienced Models: X440, L440, T440p, M83, X240

When looked at the Smsts.log file found “Not enough storage is available to complete this operation. (Error: 8007000E; Source: Windows)”

Log file entries:-

pInstall->Install(sPackageID, sProgramName), HRESULT=8007000e (e:\nts_sms_fre\sms\client\osdeployment\installsoftware\main.cpp,374) InstallSoftware 04/03/2014 10:23:42 2776 (0x0AD8)

Install Software failed, hr=0x8007000e InstallSoftware 04/03/2014 10:23:42 2776 (0x0AD8)

Process completed with exit code 2147942414 TSManager 04/03/2014 10:23:42 1408 (0x0580)

!--------------------------------------------------------------------------------------------! TSManager 04/03/2014 10:23:42 1408 (0x0580)

Failed to run the action: AMTSOLLMS.

Not enough storage is available to complete this operation. (Error: 8007000E; Source: Windows) TSManager 04/03/2014 10:23:42 1408 (0x0580)

Sending status message . . . TSManager 04/03/2014 10:23:42 1408 (0x0580)

When looked from Trace…


This kind of issues we have on almost on all the new release of 2013 laptop models regardless of Manufacture Dell/HP/Lenovo because these are meant for Windows 8 OS where windows 8 support the UEFI.

Before we install OS we need to apply KMDF patch on all OS, as a SOE engineer it’s better to include this in all your WIM images before you actually deploy to latest models (I personally suggest).

For the solution steps, keep a look at my simple Task sequence that I have … I will be explaining you in next section


For my Partition Disk I have defined variable as %OSDisk% .. see the below screenshot


After apply Operating system, I have added a command line as below, for DISM Temp Directory


cmd.exe /c mkdir %OSDisk%\Dummy

I have downloaded the patch from Microsoft and used 7zip tool and extracted it
Path for Download link

Based on the X86 (kmdf-1.11-Win-6.1-x86.msu) or X64 (kmdf-1.11-Win-6.1-x64.msu) Once you have extracted the
If extracted X86 you will be getting below


If Extracted X64 you will be getting as below


Create a SCCM Software package (program is not required) from the source that you have extracted above i.e., X86 or X64 the version is dependent on your WIM Architecture

In the SCCM task Sequence call a Step as Install KMDF and type of step should be a “Run Command Line”

And in the command line paste below and replace the package ID with your package ID i.e., LAB00080 with your package ID

cmd.exe /c X:\windows\system32\dism.exe /ScratchDir:%OSDisk%\Dummy /Image:%OSDisk%\ /Add-Package /PackagePath:%_SMSTSMDataPath%\Packages\LAB00080\

Note:- if you are deploying for Windows X64 Bit then you also need to change the from to in the above command line

Show the Package that we have created in SCCM sw distribution section.


Finally in the task Sequence will call a command line to clean up the Directory temp Directory that we used at the first step of task sequence


cmd.exe /c rmdir "%OSDisk%\Dummy" /q /s

That’s all….

Now it should start installing all the drivers packages that you pushed from PnP or as Bad package / Software Distribution based..

1 comment:

  1. For those struggling with error 0x00000003, make sure you checked the option to download packages locally