Hello, my name is Kaushik Ainapure. I am a Senior Support Engineer in the Windows Platforms Core group. In this blog I am going to discuss how to extract and add the KMDF (Kernel Mode Driver Framework) to a Windows Vista Deployment.  

Windows Driver Foundation (WDF) is a set of Microsoft tools that are used in the creation of device drivers for Windows Operating System by IHV’S and ISV’S.  The primary tools that comprise WDF are the Kernel Mode Driver Framework (KMDF) and User Mode Driver Framework (UMDF). These tool kits provide a new object-oriented programming model for Windows driver development.  More information on WDF can be found on http://msdn.microsoft.com/en-us/windows/hardware/gg463268.

Windows 7 includes the latest version of WDF but if you are deploying Windows Vista with a driver that requires the latest version of WDF you may need to add this to your offline image so drivers will install successfully.

Extract the KMDF/UMDF driver from the DDK

===================================

You will need to have the following installed: 

  • Visual Studio 2010.  If you do not have the full version you can download the Microsoft Visual Studio 2010 Professional trial version
    1. To obtain the KMDF/UMDF driver do the following:
      1. Extract the Vista install package for KMDF
      2. The KMDF 1.9 co-installer is in %WinDDK%\redist\wdf\<arch>\wdfcoinstaller01009.dll
      3. Drag-and-drop the co-installer into Visual Studio or use File/Open to load the binary. You can also use any other resource extractor.
      4. By default, you'll see the co-installers' resources. Look at the RCDATA resources. The KMDF co-installer has a resource called WDFCAB_RESOURCE
      5. Right click on the resource name, select export and find a directory to extract the resources.
      6. Name it KMDF.CAB
      7. Uncompress the WDF.CAB using the following command
        1. expand –f:* KMDF.CAB c:\KMDF
      8. You should have a file called Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu
    2. Extract the Vista install package for UMDF [The KMDF 1.9 co-installer is in %WinDDK%\redist\wdf\<arch>\wudfcoinstaller01009.dll]
      1. Drag-and-drop the co-installer into Visual Studio or use File/Open to load the binary. You can also use any other resource extractor.
      2. By default, you'll see the co-installers' resources. Look at the RCDATA resources. The KMDF co-installer has a resource called WDFCAB_RESOURCE
      3. Right click on the resource name, select export and find a directory to extract the resources.
      4. Name it UMDF.CAB
      5. Uncompress the WDF.CAB using the following command
      6. expand –f:* UMDF.CAB c:\UMDF
      7. You should have a file called Microsoft User-Mode Driver Framework-v1.9-Vista.msu 

    You should end up with the following files:


    C:\KMDF\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu

    C:\UMDF\Microsoft User-Mode Driver Framework-v1.9-Vista.msu

    Add the KMDF/UMDF driver to your Deployment

    ======================================

    You can now incorporate these into your deployment.  The steps vary on the type of deployment and the deployment tools you are using.  Some examples include:

    Microsoft Deployment Toolkit (MDT)

    Add the Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu and Microsoft User-Mode Driver Framework-v1.9-Vista.msu to the MDT workbench under Packages

    System Center Configuration Manager

    Add the Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu and Microsoft User-Mode Driver Framework-v1.9-Vista.msu as Driver packages

    Modify Offline Windows Vista Image

    If you have a custom offline Windows Vista image that you would like to add the drivers to do the following(C:\CUSTOM.WIM for example)

  • Unzip C:\KMDF\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu to C:\KMDF\Flat
  • Unzip C:\UMDF\Microsoft User-Mode Driver Framework-v1.9-Vista.msu to C:\UMDF\FLAT
  • Dism /Mount-WIM /WimFile:c:\custom.wim /MountDir:c:\mount
  • Dism /image:C:\mount /Add-Package /PackagePath:C:\KMDF\FLAT\Windows6.0-KB970158-x64.cab
  • Dism /image:C:\mount /Add-Package /PackagePath:C:\UMDF\FLAT\Windows6.0-KB970159-x64.cab
  • Dism /Unmount-WIM /MountDir:C:\mount /Commit
  •  

    More Information

  • Kaushik Ainapure
    Senior Support Engineer
    Microsoft Enterprise Platforms Support