Componentes de framework redistribuibles

Nota:

Si el controlador solo tiene como destino Windows 10, no es necesario redistribuir WDF ni proporcionar un Coinstaller en el paquete de controladores. Para dirigirse a Windows 10:

  1. En Visual Studio, en la página de propiedades Configuración del proyecto, en Configuración del controlador ->Versión del sistema operativo de destino, seleccione Windows 10 o superior. Esto equivale a agregar lo siguiente al archivo .vcxproj:
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
  1. En la sección Fabricante inf, especifique 10.0 como versión de sistema operativo de destino, como se indica a continuación:
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0

En este tema se describen las actualizaciones de marcos redistribuibles proporcionadas por Microsoft que se incluyen como parte del Kit de controladores de Windows (WDK) y cómo determinar cuáles se van a agregar al paquete de controladores.

Las actualizaciones del marco redistribuible permiten ejecutar un controlador compilado con una versión de marco posterior que la incluida en un sistema operativo. Por ejemplo, KMDF 1.11 se incluye en Windows 8. Pero puedes ejecutar un controlador KMDF 1.11 en Windows Vista o Windows 7. Sin embargo, para poder hacerlo, debe asegurarse de que la biblioteca de marcos de KMDF 1.11 reemplace la biblioteca de marcos incluida en el sistema operativo anterior (en este caso, KMDF 1.7 y KMDF 1.9 respectivamente). Para ello, redistribuya un archivo co-instalador o .msu proporcionado por Microsoft con el paquete de controladores.

¿Cuándo necesito incluir un co-instalador o .msu en mi paquete de controladores?

En primer lugar, decida qué versiones de Windows admitirá el controlador. En función de eso, determine qué versión del marco se va a usar.

Si la versión de WDF elegida es más reciente que la versión que se incluye con el sistema operativo de destino, incluya el archivo co-installer o .msu en el paquete de controladores.

Por ejemplo, quiere que el controlador se ejecute en Windows 7. Puede optar por compilar el controlador mediante WDF 1.11 o WDF 1.9. Si eliges la versión 1.9, que se proporciona con Windows 7, no es necesario actualizar el sistema. Por otro lado, si elige 1.11, deberá incluir un paquete de actualización de WDF 1.11 con el controlador.

¿Debo incluir el co-instalador o el archivo .msu?

Si la instalación del controlador se desencadena conectando un nuevo dispositivo de hardware a un sistema y instala solo el controlador, incluya el coinstalación en el paquete de controladores. A continuación, haga referencia al co-installer en el archivo INF, tal y como se describe en Especificación del co-instalador de KMDF en un archivo INF.

Si necesita instalar una aplicación además del controlador, debe redistribuir el paquete MSU correspondiente (por ejemplo, kmdf-1.11-Win.6.0.msu) junto con una aplicación de configuración que la llama. En este caso, no se necesitan entradas INF.

Nunca necesita el co-instalador y el archivo .msu.

¿Dónde puedo encontrar estos archivos y qué se incluye?

Los co-instaladores se encuentran en %program files%\Windows Kits\<version>\redist\wdf.

Este directorio contiene los siguientes archivos, para x86 y x64:

  • WdfCoinstaller01007.dll, WdfCoinstaller01009.dll, WdfCoinstaller01011.dll (co-installers para KMDF 1.7/1.9/1.11).
  • WUDFUpdate_01007.dll, WUDFUpdate_01009.dll, WUDFUpdate_01011.dll (co-installers para UMDF).
  • winusbcoinstaller.dll, winusbcoinstaller2.dll (co-installers para WinUSB 1.5/1.9).

Si desea el archivo MSU, descargue e instale el paquete (en formato MSI) de los componentes redistribuibles de WDK 8. Después de la instalación, la MSU y los coinstaladores se pueden encontrar en %program files%\Windows Kits\8.0\redist\wdf.

Nomenclatura y control de versiones de co-instalador

El coinstalador se denomina WdfCoInstallerMMmmm.dll.

  • MM es el número de versión principal.
  • mmm es el número de versión secundaria.

Por ejemplo, el nombre de archivo de la versión 1.0 del co-instalador es WdfCoInstaller01000.dlly el nombre de archivo de la versión 1.11 es WdfCoInstaller01011.dll.

La versión del co-instalador que incluya con el paquete de controladores debe coincidir con la versión de la biblioteca de marcos que usa para desarrollar el controlador.

Tenga en cuenta que el nombre de archivo de la biblioteca de marcos incluye solo el número de versión principal. Para obtener más información sobre los nombres de archivo de biblioteca, consulte Control de versiones de la biblioteca de marcos.