RE: Can?t update KMDF on Server 2008 x64 (not R2)

If a reboot was required the runtime could not unload which means device stack using it didn’t unload. Pretty common actually

d

debt from my phone


From: xxxxx@mail.ru
Sent: 4/12/2012 8:29 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Can?t update KMDF on Server 2008 x64 (not R2)

Hello.

I wrote install application for my non-pnp KMDF 1.9 driver. It works fine on most
systems (XP, W7 x86/x64, 2008 x86, 2008 R2). But on 2008 x64 function
WdfPreDeviceInstall returns error 0x308 (ERROR_REQUEST_OUT_OF_SEQUENCE)
and installation fails.

I tried to install KMDF manually ? from msu-package extracted from
WdfCoInstaller01009.dll - but got the same error.

Setupact.log shows that problem is in update KMDF from 1.7 to 1.9.

On 2008 x86 WdfPreDeviceInstall returns ERROR_SUCCESS_REBOOT_REQUIRED and
after rebooting installation performed successfully.

Can anyone please help in solving the problem?

Thanks in advance.


Setupact.log:

WdfCoInstaller: [04/12/2012 18:52.58.875] WdfPreDeviceInstall: entry
WdfCoInstaller: [04/12/2012 18:52.59.109] WdfPreDeviceInstallEx: entry
WdfCoInstaller: [04/12/2012 18:52.59.344] ReadComponents: WdfSection for Driver Service upkeyx using KMDF lib version Major 0x1, minor 0x9
WdfCoInstaller: [04/12/2012 18:52.59.344] DIF_INSTALLDEVICE: Coinstaller version: 1.9.7600
WdfCoInstaller: [04/12/2012 18:52.59.453] DIF_INSTALLDEVICE: KMDF in-memory version: 1.7.6001
WdfCoInstaller: [04/12/2012 18:52.59.594] DIF_INSTALLDEVICE: KMDF on-disk version: 1.7.6001
WdfCoInstaller: [04/12/2012 18:52.59.609] Service Wdf01000 is running
WdfCoInstaller: [04/12/2012 18:52.59.609] DIF_INSTALLDEVICE: Reboot is required, because the in-memory KMDF version is older than the coinstaller’s version.
WdfCoInstaller: [04/12/2012 18:52.59.625] DIF_INSTALLDEVICE: Update is required, because the on-disk KMDF version is older than the coinstaller
WdfCoInstaller: [04/12/2012 18:52.59.625] Extracting WDFCAB_RESOURCE from WdfCoInstaller01009.dll to C:\Windows\Temp\WdfTemp\WDF.cab
WdfCoInstaller: [04/12/2012 18:52.59.640] file: C:\Windows\Temp\WdfTemp\WDF.cab, time-stamp: [04/12/2012 14:52.59.625], size: 984311 bytes
WdfCoInstaller: [04/12/2012 18:52.59.781] Check C:\Windows\Temp\WdfTemp\WDF.cab for trusted signature
WdfCoInstaller: [04/12/2012 18:53.00.328] VerifyMSRoot: exit: error(0) The operation completed successfully.
WdfCoInstaller: [04/12/2012 18:53.00.328] CheckWinTrust(C:\Windows\Temp\WdfTemp\WDF.cab) returns S_OK
WdfCoInstaller: [04/12/2012 18:53.00.328] VerifyFileTrust: exit: C:\Windows\Temp\WdfTemp\WDF.cab, error(0) The operation completed successfully.
WdfCoInstaller: [04/12/2012 18:53.00.578] C:\Windows\Temp\WdfTemp\WDF.cab has been extracted to C:\Windows\Temp\WdfTemp
WdfCoInstaller: [04/12/2012 18:53.00.578] component [0] : C:\Windows\Temp\WdfTemp\wdf01000.inf
WdfCoInstaller: [04/12/2012 18:53.00.594] System restore is not supported. No system restore point will be set
WdfCoInstaller: [04/12/2012 18:53.00.594] Invoking “C:\Windows\system32\wusa.exe “C:\Windows\Temp\WdfTemp\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu” /quiet /norestart”.
WdfCoInstaller: [04/12/2012 18:53.01.422] The update process returned error code :error(776) The client of a component requested an operation which is not valid given the state of the component instance.
WdfCoInstaller: [04/12/2012 18:53.01.422] For additional information please look at the log files %windir%\windowsupdate.log and %windir%\Logs\CBS\CBS.log
WdfCoInstaller: [04/12/2012 18:53.01.531] WdfPreDeviceInstall: exit: error(776) The client of a component requested an operation which is not valid given the state of the component instance.


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 for your time, Doron.

I guess the reason, but then WdfPreDeviceInstall should return ERROR_SUCCESS_REBOOT_REQUIRED, not ERROR_REQUEST_OUT_OF_SEQUENCE.

As I said, on 2008 x86 it works as expected.

Sometimes it is a tricky code path to get the right result out of the msu.

d

debt from my phone


From: xxxxx@mail.ru
Sent: 4/12/2012 9:22 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] RE: Can?t update KMDF on Server 2008 x64 (not R2)

Thanks for your time, Doron.

I guess the reason, but then WdfPreDeviceInstall should return ERROR_SUCCESS_REBOOT_REQUIRED, not ERROR_REQUEST_OUT_OF_SEQUENCE.

As I said, on 2008 x86 it works as expected.


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