wdfcoinstaller, is KMDF supported on WINPE

I have a KMDF driver using wdfcoinstaller01009.dll (1.9.7600.16385) that is
signed and loads and runs fine under WinPE 3.0. The same driver fails to load
under WIN PE 2.1.(6001)

The same driver using wdfconinstaller01007.dll (1.7.6001.0) is signed and
loads and runs fine under WIN PE2.1 but won’t load under WINPE 3.0 (7600).

Whats up with that ? I need the driver with wdfconinstaller01009.dll to run
under winPE 2.1 as this is the customers environment. But I think remember
reading somewhere on OSR that WINPE doesn’t support coinstallers ?

Any clues ? Thanks in Advance

heres the setupapi.dev.log from winpe 2.1 :
[Device Install Log]
OS Version = 6.0.6001
Service Pack = 1.0
Suite = 0x0100
ProductType = 1
Architecture = ia64

– stuff deleted

dvi: {DIF_INSTALLDEVICE} 17:03:00.470
dvi: No class installer for ‘XYZ Device’
dvi: CoInstaller 1: Enter 17:03:00.470
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 17:03:00.470
inf: Opened PNF: ‘X:\windows\INF\oem3.inf’ ([strings] )
!!! dvi: CoInstaller 2: failed(0x00000002)!
!!! dvi: Error 2: The system cannot find the file specified.
dvi: CoInstaller 1: Enter (Post Processing) 17:03:00.710
dvi: CoInstaller 1: Exit (Post Processing)
dvi: {DIF_INSTALLDEVICE - exit(0x00000002)} 17:03:00.710
!!! ndv: Error(00000002) installing device!
ndv: Device install status=0x00000002
ndv: Performing device install final cleanup…
! ndv: Queueing up error report since device installation failed…
ndv: {Core Device Install - exit(0x00000002)}
dvi: {DIF_DESTROYPRIVATEDATA} 17:03:00.710
dvi: CoInstaller 1: Enter 17:03:00.710
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 17:03:00.720
dvi: CoInstaller 2: Exit
dvi: Default installer: Enter 17:03:00.720
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 17:03:00.720
ump: Server install process exited with code 0x00000002 17:03:00.720

Would it be possible to paste the corresponding contents of %windir%\setupact.log?
This should show us why the coinstaller failed.

If you have setupact.log both for the successful scenario (winpe 2.1) and for the unsuccessful one (winpe 3.0) that might provide additional insight.

Ilias

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.com
Sent: Tuesday, August 04, 2009 10:23 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] wdfcoinstaller, is KMDF supported on WINPE

I have a KMDF driver using wdfcoinstaller01009.dll (1.9.7600.16385) that is
signed and loads and runs fine under WinPE 3.0. The same driver fails to load
under WIN PE 2.1.(6001)

The same driver using wdfconinstaller01007.dll (1.7.6001.0) is signed and
loads and runs fine under WIN PE2.1 but won’t load under WINPE 3.0 (7600).

Whats up with that ? I need the driver with wdfconinstaller01009.dll to run
under winPE 2.1 as this is the customers environment. But I think remember
reading somewhere on OSR that WINPE doesn’t support coinstallers ?

Any clues ? Thanks in Advance

heres the setupapi.dev.log from winpe 2.1 :
[Device Install Log]
OS Version = 6.0.6001
Service Pack = 1.0
Suite = 0x0100
ProductType = 1
Architecture = ia64

– stuff deleted

dvi: {DIF_INSTALLDEVICE} 17:03:00.470
dvi: No class installer for ‘XYZ Device’
dvi: CoInstaller 1: Enter 17:03:00.470
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 17:03:00.470
inf: Opened PNF: ‘X:\windows\INF\oem3.inf’ ([strings] )
!!! dvi: CoInstaller 2: failed(0x00000002)!
!!! dvi: Error 2: The system cannot find the file specified.
dvi: CoInstaller 1: Enter (Post Processing) 17:03:00.710
dvi: CoInstaller 1: Exit (Post Processing)
dvi: {DIF_INSTALLDEVICE - exit(0x00000002)} 17:03:00.710
!!! ndv: Error(00000002) installing device!
ndv: Device install status=0x00000002
ndv: Performing device install final cleanup…
! ndv: Queueing up error report since device installation failed…
ndv: {Core Device Install - exit(0x00000002)}
dvi: {DIF_DESTROYPRIVATEDATA} 17:03:00.710
dvi: CoInstaller 1: Enter 17:03:00.710
dvi: CoInstaller 1: Exit
dvi: CoInstaller 2: Enter 17:03:00.720
dvi: CoInstaller 2: Exit
dvi: Default installer: Enter 17:03:00.720
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 17:03:00.720
ump: Server install process exited with code 0x00000002 17:03:00.720


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

here is the setupact.log file from winpe 2.1. I was trying to load the 1.9 kmdf driver to win pe 2.1


WdfCoInstaller: [08/04/2009 15:00.07.330] DIF_INSTALLDEVICE: Pre-Processing

WdfCoInstaller: [08/04/2009 15:00.07.330] ReadComponents: WdfSection for Driver Service XYZ using KMDF lib version Major 0x1, minor 0x9

WdfCoInstaller: [08/04/2009 15:00.07.330] DIF_INSTALLDEVICE: Coinstaller version: 1.9.7600

WdfCoInstaller: [08/04/2009 15:00.07.330] DIF_INSTALLDEVICE: KMDF in-memory version: 1.7.6001

WdfCoInstaller: [08/04/2009 15:00.07.340] DIF_INSTALLDEVICE: KMDF on-disk version: 1.7.6001

WdfCoInstaller: [08/04/2009 15:00.07.340] Service Wdf01000 is running

WdfCoInstaller: [08/04/2009 15:00.07.340] DIF_INSTALLDEVICE: Reboot is required, because the in-memory KMDF version is older than the coinstaller’s version.

WdfCoInstaller: [08/04/2009 15:00.07.340] DIF_INSTALLDEVICE: Update is required, because the on-disk KMDF version is older than the coinstaller

WdfCoInstaller: [08/04/2009 15:00.07.440] VerifyMSRoot: exit: error(0) The operation completed successfully.

WdfCoInstaller: [08/04/2009 15:00.07.570] Invoking “X:\windows\system32\wusa.exe “X:\windows\Temp\WdfTemp\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu” /quiet /norestart”.

WdfCoInstaller: [08/04/2009 15:00.07.570] InvokeExe Create process failed : error(2) The system cannot find the file specified.

WdfCoInstaller: [08/04/2009 15:00.07.570] SetFakeSystemRestorePoint: Problem finalizing restore point

WdfCoInstaller: [08/04/2009 15:00.07.820] DIF_INSTALLDEVICE: Pre-Processing

WdfCoInstaller: [08/04/2009 15:00.07.820] GetDriverDetailsData: SetupDiGetSelectedDriver: status(E0000203)

WdfCoInstaller: [08/04/2009 15:00.07.820] DIF_INSTALLDEVICE: No action taken for NULL driver

Do these exist:

X:\windows\system32\wusa.exe
X:\windows\Temp\WdfTemp\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu

mm

Both of them do not exist.

I spoke with the winpe team and they said that the installation of Windows Update packages is not allowed in winpe (i.e. you cannot call the embedded Windows Update package to update KMDF 1.7 to KMDF 1.9 while running winpe). What you need to do is apply the update offline in the winpe image.

They told me that this is described in the OPK and WAIK documentations, but as a summary AFAIK what you need to do is:

  1. extract the msu from the coinstaller (you can look at http://blogs.msdn.com/iliast/archive/2008/03/10/why-do-we-need-wdf-coinstallers.aspx for info on how to do this)
  2. use expand.exe (inbox in Vista and later) to extract the cab file from the msu
  3. use peimg.exe on the cab file to install the cab file in the offline winpe image

The corresponding documentation will have more details about this process.

Ilias

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.com
Sent: Tuesday, August 04, 2009 2:11 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] wdfcoinstaller, is KMDF supported on WINPE

here is the setupact.log file from winpe 2.1. I was trying to load the 1.9 kmdf driver to win pe 2.1


WdfCoInstaller: [08/04/2009 15:00.07.330] DIF_INSTALLDEVICE: Pre-Processing

WdfCoInstaller: [08/04/2009 15:00.07.330] ReadComponents: WdfSection for Driver Service XYZ using KMDF lib version Major 0x1, minor 0x9

WdfCoInstaller: [08/04/2009 15:00.07.330] DIF_INSTALLDEVICE: Coinstaller version: 1.9.7600

WdfCoInstaller: [08/04/2009 15:00.07.330] DIF_INSTALLDEVICE: KMDF in-memory version: 1.7.6001

WdfCoInstaller: [08/04/2009 15:00.07.340] DIF_INSTALLDEVICE: KMDF on-disk version: 1.7.6001

WdfCoInstaller: [08/04/2009 15:00.07.340] Service Wdf01000 is running

WdfCoInstaller: [08/04/2009 15:00.07.340] DIF_INSTALLDEVICE: Reboot is required, because the in-memory KMDF version is older than the coinstaller’s version.

WdfCoInstaller: [08/04/2009 15:00.07.340] DIF_INSTALLDEVICE: Update is required, because the on-disk KMDF version is older than the coinstaller

WdfCoInstaller: [08/04/2009 15:00.07.440] VerifyMSRoot: exit: error(0) The operation completed successfully.

WdfCoInstaller: [08/04/2009 15:00.07.570] Invoking “X:\windows\system32\wusa.exe “X:\windows\Temp\WdfTemp\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu” /quiet /norestart”.

WdfCoInstaller: [08/04/2009 15:00.07.570] InvokeExe Create process failed : error(2) The system cannot find the file specified.

WdfCoInstaller: [08/04/2009 15:00.07.570] SetFakeSystemRestorePoint: Problem finalizing restore point

WdfCoInstaller: [08/04/2009 15:00.07.820] DIF_INSTALLDEVICE: Pre-Processing

WdfCoInstaller: [08/04/2009 15:00.07.820] GetDriverDetailsData: SetupDiGetSelectedDriver: status(E0000203)

WdfCoInstaller: [08/04/2009 15:00.07.820] DIF_INSTALLDEVICE: No action taken for NULL driver


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

thanks Ilias

After opening up the .msu file I added the following .cab file to the winpe image

peimg winpe\mount /import=Windows6.0-KB970158-ia64.cab
peimg winpe\mount /import=WSUSSCAN.cab

The 1st one was successful,
the wsusscan.cab file failed to complete the operation with status code 0x80070002

Then I redid it just using
peimg winpe\mount /import=Windows6.0-KB970158-ia64.cab

Then i booted winpe and loaded the driver which didn’t work and the setupact.log file output
was the same as in the previous posting.

I couldn’t find any information on KB970158.

what am i doing wrong ?

output:

C:\Documents and Settings\Administrator\Desktop\rep_35-5\boot>peimg winpe\mount
/import=Windows6.0-KB970158-ia64.cab
Preinstallation Environment Image Setup Tool for Windows
Copyright (C) Microsoft Corporation. All rights reserved.

Adding package: C:\Documents and Settings\Administrator\Desktop\rep_35-5\boot\Wi
ndows6.0-KB970158-ia64.cab

PEIMG completed the operation successfully.

C:\Documents and Settings\Administrator\Desktop\rep_35-5\boot>peimg winpe\mount
/import=WSUSSCAN.cab

Preinstallation Environment Image Setup Tool for Windows
Copyright (C) Microsoft Corporation. All rights reserved.

Adding package: C:\Documents and Settings\Administrator\Desktop\rep_35-5\boot\WS
USSCAN.cab

PEIMG failed to complete the operation with status code 0x80070002.

I’m definitely not a winpe expert, so I don’t know the specifics of the procedure.
However, according to the documentation at http://technet.microsoft.com/en-us/library/cc749161(WS.10).aspx it says that after the peimg /import, you need to do a peimg /install (you might have to do a peimg /list to find the exact package name).

Try this only on the Windows6.0-KB970158-ia64.cab file and let’s see if that helps.

Ilias

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.com
Sent: Wednesday, August 05, 2009 11:07 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] wdfcoinstaller, is KMDF supported on WINPE

After opening up the .msu file I added the following .cab file to the winpe image

peimg winpe\mount /import=Windows6.0-KB970158-ia64.cab
peimg winpe\mount /import=WSUSSCAN.cab

The 1st one was successful,
the wsusscan.cab file failed to complete the operation with status code 0x80070002

Then I redid it just using
peimg winpe\mount /import=Windows6.0-KB970158-ia64.cab

Then i booted winpe and loaded the driver which didn’t work and the setupact.log file output
was the same as in the previous posting.

I couldn’t find any information on KB970158.

what am i doing wrong ?

output:

C:\Documents and Settings\Administrator\Desktop\rep_35-5\boot>peimg winpe\mount
/import=Windows6.0-KB970158-ia64.cab
Preinstallation Environment Image Setup Tool for Windows
Copyright (C) Microsoft Corporation. All rights reserved.

Adding package: C:\Documents and Settings\Administrator\Desktop\rep_35-5\boot\Wi
ndows6.0-KB970158-ia64.cab

PEIMG completed the operation successfully.

C:\Documents and Settings\Administrator\Desktop\rep_35-5\boot>peimg winpe\mount
/import=WSUSSCAN.cab

Preinstallation Environment Image Setup Tool for Windows
Copyright (C) Microsoft Corporation. All rights reserved.

Adding package: C:\Documents and Settings\Administrator\Desktop\rep_35-5\boot\WS
USSCAN.cab

PEIMG failed to complete the operation with status code 0x80070002.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

That worked !!

Just importing and installing that one Windows6.0-KB970158-ia64.cab
file worked.

thanks !!
Mel

No problem! Glad that it worked:)

Would it be possible to write the exact peimg commands that you used, just for future reference?

Also, do you need help in finding out why the KMDF 1.7 driver cannot be installed in WinPE 3.0?

Ilias

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.com
Sent: Wednesday, August 05, 2009 3:25 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] wdfcoinstaller, is KMDF supported on WINPE

That worked !!

Just importing and installing that one Windows6.0-KB970158-ia64.cab
file worked.

thanks !!
Mel


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer