Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo crear su propio paquete de controladores

Cómo crear su propio paquete de controladores

1. Utilice el control InstDrv de NSIS:

Dirección de descarga: /InstDrv_plug-in

Hay ejemplos en el paquete de instalación descargado. He utilizado este método con éxito. Se creó un paquete de instalación, pero desafortunadamente tiene las siguientes deficiencias.

Desventaja: No se puede crear un paquete de instalación de controladores para sistemas de 64 bits 2. Utilice PnPUtil:

Es difícil de usar, ¿omitirlo?

3. sección o Agregue una línea a la función:

ExecWait '$SYSDIR\RUNDLL32.EXE SETUPAPI.DLL, InstallHinfSection DefaultInstall 132 $INSTDIR\lt;myinfgt;.inf'

El " DefaultInstall" es la sección predeterminada escrita en inf.

Desventajas: DefaultInstall no está escrito en bastantes infs.

4. Agregue la sección o función:

${If} ${RunningX64} ExecWait '"$INSTDIR\drivers\dpinst64.exe" /c /q /sa / sw /PATH "$INSTDIR\drivers"'

${Else} ExecWait '"$INSTDIR\drivers\dpinst32.exe" /c /q /sa /sw /PATH "$INSTDIR\drivers"'

${EndIf}

dpinst.exe está incluido en el WDK de Microsoft, ubicado en WinDDK\7600.16385.1\redist\DIFx\dpinst. También debería estar disponible en línea.

Desventajas: Desafortunadamente, los controladores para hardware desconocido solo se pueden mostrar en el administrador de dispositivos de instalación, pero los controladores de dispositivos virtuales no se pueden instalar. Y parece que no se pueden instalar controladores sin firmas digitales.

5. Agregue la sección o función: ${If} ${RunningX64} ExecWait '"$INSTDIR\devcon\devcon64.exe" install "$INSTDIR\xxx.inf" xxxID' ${Else } ExecWait '"$INSTDIR\devcon\devcon32.exe" install "$INSTDIR\xxx.inf"?xxxID' ${EndIf}

devcon.exe también está disponible en WDK de Microsoft y en WinDDK\ 7600.16385. 1\herramientas\devcon. También puede obtenerlo en línea

Simplemente ingrese la ruta de información y el ID del hardware. ¿No conoces el ID del hardware? Primero instálelo manualmente y podrá encontrarlo en el administrador de dispositivos.

Terminé usando este método. Los demás métodos tienen más o menos deficiencias, pero éste es el único conveniente y viable.

Para desinstalar, agregue:

Sección Desinstalar ${If} ${RunningX64} ExecWait '"$INSTDIR\devcon\devcon64.exe" remove xxxID' ${Else} ExecWait ' "$INSTDIR\devcon\devcon32.exe" elimina xxxID' ${EndIf}