wdfcoinstaller01011.dll works incorrectly in an installer custom action - by Michail Frolov

Status : 

  External<br /><br />
		This item may be valid but belongs to an external system out of the direct control of this product team.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.


1
0
Sign in
to vote
ID 829509 Comments
Status Closed Workarounds
Type Bug Repros 1
Opened 3/6/2014 6:34:19 PM
Access Restriction Public

Description

Calling WdfPreDeviceInstall(Ex) from wdfcoinstaller01011.dll fails on Windows 7 if the function is called from MSI custom action.

This is because Windows 7 has a shim that lies about Windows version to Windows Installer.  VistaRTMVersionLie reports Vista to GetVersion(Ex).  As a result WdfPreDeviceInstall(Ex) extracts incorrect .MSU for windows Vista and attempts to install it.

Output from MSI log produces by a call to GetVersionEx in a custom action DLL:

GetVersionEx 6.0

Output from setupact.log:

WdfCoInstaller: [03/06/2014 20:04.52.977] ReadComponents:  WdfSection for Driver Service smkbfltr using KMDF lib version Major 1, minor 11 
WdfCoInstaller: [03/06/2014 20:04.53.024] DIF_INSTALLDEVICE: Coinstaller version: 1.11.0
WdfCoInstaller: [03/06/2014 20:04.53.040] DIF_INSTALLDEVICE: KMDF in-memory version: 1.9.7600
WdfCoInstaller: [03/06/2014 20:04.53.040] DIF_INSTALLDEVICE: KMDF on-disk version: 1.9.7600
WdfCoInstaller: [03/06/2014 20:04.53.040] Service Wdf01000 is running
WdfCoInstaller: [03/06/2014 20:04.53.040] DIF_INSTALLDEVICE: Reboot is required, because the in-memory KMDF version is older than KmdfLibraryVersion for service smkbfltr.
WdfCoInstaller: [03/06/2014 20:04.53.055] DIF_INSTALLDEVICE: Update is required, because the on-disk KMDF version is older than the coinstaller
WdfCoInstaller: [03/06/2014 20:04.53.055] Invoking "C:\Windows\system32\wusa.exe "C:\Windows\Temp\WdfTemp\Kmdf-1.11-Win-6.0.msu" /quiet /norestart".
WdfCoInstaller: [03/06/2014 20:05.06.086] The update process returned error code :status(80240017) <no error text>. 
Sign in to post a comment.
Posted by Microsoft on 10/14/2014 at 11:51 AM
Thank you for submitting this bug. This site is focused on accepting bugs for Visual Studio and .NET Framework, however, this issue appears to be related to the Windows operating system so we have transferred it over to the Windows team for review. further support. Should more information be needed, someone from the Windows team will follow up with you. We’ve created some online forums where you can ask questions, post issues and get answers from other preview testers and Microsoft support professionals. We encourage active participation in these forums as the best way to provide feedback to Microsoft.

• Visit the Windows 8.1 Forum (http://aka.ms/win8_1forum)
• Visit the Internet Explorer 11 Forum (http://aka.ms/IE_11Forum)
• Visit the Windows Dev Center for building apps (http://aka.ms/WinDevCenter )
• Visit the IT Pro Springboard on TechNet for Windows 8.1 business and enterprise features (http://aka.ms/Win8Technet)

Cheers!

Meredith Magnusson
Visual Studio Team
Posted by Microsoft on 3/31/2014 at 10:12 AM
You're right that it’s due to a compatibility issue in MSI that WdfCoinstaller does not work as expected. As a workaround, you can invoke a custom action as a standalone executable, and then call WdfPreDeviceInstallEx from there.
Posted by Microsoft on 3/7/2014 at 12:46 AM
Thank you for submitting feedback on Visual Studio and .NET Framework. Your issue has been routed to the appropriate VS development team for review. We will contact you if we require any additional information. If you require immediate assistance with this issue, please contact product support at http://support.microsoft.com/ph/1117.
Posted by Microsoft on 3/6/2014 at 6:51 PM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)