Compartir a través de


Uso del co-instalador de UMDF

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 de INF, especifique 10.0 como versión del sistema operativo de destino, como se indica a continuación:
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0

Es posible que tenga que hacer referencia al coinstaller proporcionado por el sistema como se indica a continuación:

[Echo_Install.NT.CoInstallers] 
AddReg=CoInstallers_AddReg

[CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,WudfCoinstaller.dll

Un coins installer actualiza la versión del marco almacenada en las secciones del archivo INF específica del marco de trabajo y los procesos. En este tema se describen los dos coinstaladores de UMDF y cuándo es necesario incluir uno con el paquete de instalación del controlador o hacer referencia a un coinstaladores en el archivo INF.

Obtención del paquete co-instalador

En Windows 8.1, las actualizaciones del marco redistribuible proporcionado por Microsoft se incluyen como parte del Kit de controladores de Windows (WDK).

Para obtener una lista completa del contenido del directorio co-installer, vea Componentes de instalación para controladores kmdf.

Entre otros componentes, el directorio co-installer contiene un co-instalador de actualización, denominado WUDFUpdate_MMmmm.dll, donde MM es el número de versión principal y mmm es el número de versión secundaria.

El co-instalador de actualización actualiza la versión del marco umdf que se encuentra en el equipo. Por ejemplo, si el equipo tiene la versión 1.9 de UMDF y el co-instalador contiene la versión 1.11, el co-instalador actualiza la versión del marco del equipo a 1.11.

El sistema operativo incluye otro co-instalador, denominado co-instalador de configuración o WudfCoinstaller.dll. El co-instalador de configuración procesa las secciones específicas de UMDF del archivo INF del controlador y realiza las actualizaciones necesarias en el registro.

Hacer referencia a los co-instaladores desde el archivo INF

Si va a escribir un controlador UMDF 2.0 para Windows 8.1, el archivo INF debe hacer referencia al co-instalador de configuración. Dado que el co-instalador de configuración se incluye en el sistema operativo, no es necesario redistribuirlo.

Si está escribiendo un controlador UMDF 1.11 destinado a sistemas operativos anteriores a Windows 8.1, debe asegurarse de que la versión 1.11 del marco está instalada en las máquinas que usan el controlador. Estas son tres maneras de hacerlo:

  • Haga referencia al co-instalador de actualización en el archivo INF e incluya el coinstaladores de actualización en el paquete de instalación del controlador. Cuando el sistema operativo instala el controlador, ejecuta el co-instalador. Si el controlador se distribuirá a través de Windows Update, debe elegir esta opción.

  • Redistribuya el paquete MSU pertinente (por ejemplo, umdf-1.11-Win-6.0.msu) junto con una aplicación de configuración que la llama. Puede encontrar un ejemplo de esta aplicación en el subdirectorio src\general\wdkinstall de la instalación de WDK. Puede elegir esta opción si está escribiendo un programa de instalación que se incluye con el dispositivo y debe ejecutarse antes de que se pueda usar el dispositivo. Si elige esta opción, el archivo INF debe hacer referencia al co-instalador de configuración.

  • Confíe en Windows Update para instalar la versión de marco necesaria en las máquinas que usan el controlador. A partir de la versión 1.11 del marco, las nuevas versiones de UMDF se distribuyen a través de Windows Update. Si elige esta opción, el archivo INF debe hacer referencia al co-instalador de configuración.

En el archivo INF, siempre debe hacer referencia al co-instalador de actualización o al co-instalador de configuración. Sin embargo, al hacer referencia a ambos co-instaladores en el INF se producirán errores de instalación.

Secciones de archivos INF para el coins installer

El archivo INF del controlador debe incluir una sección INF DDInstall.CoInstallers. Si redistribuye el coinstalador de actualización, la sección DDInstall.CoInstallers debe incluir tanto una directiva AddReg inf como una directiva CopyFiles inf, como se muestra en el ejemplo siguiente.

[MyDriver_Install.CoInstallers]
AddReg = MyDriver_Install.CoInstallers_AddReg
CopyFiles = MyDriver_CoInstallers_CopyFiles

La directiva AddReg inf identifica una sección INF que crea una entrada del Registro CoInstallers32 .

[MyDriver_Install.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfUpdate_01011.dll"

La directiva INF CopyFiles identifica una sección INF que copia el coinstalador del dispositivo de instalación en el dispositivo del sistema.

[MyDriver_CoInstallers_CopyFiles]
WudfUpdate_01011.dll

Si redistribuye un paquete MSU, la sección DDInstall.CoInstallers debe especificar una directiva AddReg que haga referencia al co-instalador de configuración.

[Echo_Install.NT.CoInstallers]
AddReg=CoInstallers_AddReg
[CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,WudfCoinstaller.dll

El archivo INF del controlador siempre debe contener una sección DDInstall.Wdf que el co-instalador lee después de instalarlo. Para obtener información sobre las directivas que el controlador puede especificar en DDInstall.Wdf, vea Especificar directivas WDF en archivos INF.

Puede evitar la creación de varios archivos INF para varias versiones del marco mediante archivos INX y la herramienta Stampinf . Para obtener más información sobre los archivos INX, vea Usar archivos INX para crear archivos INF.