me gustaría instalar un controlador para un puerto serie utilizando InnoSetup. Tengo el archivo inf, y puedo instalar el controlador manualmente a través de administrador de dispositivos, pero me gustaría ser capaz de incluir el controlador en mi instalador para que los usuarios no tienen que pasar por la molestia de instalar el controlador de sí mismos.¿Cómo puedo instalar un controlador usando InnoSetup?
Respuesta
Ver InstallHinfSection en MSDN. La documentación también menciona cómo invocar una instalación llamando a 'Rundll32.exe'. Probablemente usted va a terminar con algo como esto:
[Files]
..
Source: "driver\my_x86driver.inf"; DestDir: {app}\driver;
Source: "driver\my_x86driver.sys"; DestDir: {app}\driver;
[Run]
..
Filename: {sys}\rundll32.exe; Parameters: "setupapi,InstallHinfSection DefaultInstall 128 {app}\driver\my_x86driver.inf"; WorkingDir: {app}\driver; Flags: 32bit;
Tenga en cuenta que puede que tenga que ejecutar la instalación en modo de 64 bits en sistemas de 64 bits para poder instalar el controlador:
[Setup]
..
ArchitecturesInstallIn64BitMode=x64
también puede colocar comprobaciones para ejecutar la versión del archivo .inf dependiendo de la arquitectura de la máquina (por ejemplo, Check: Is64BitInstallMode
).
El modo de 64 bits de InnoSetup * no * produce un instalador de 64 bits ejecutable. Necesitará usar un pequeño helper de 64 bits ejecutable solo para invocar la API necesaria. Las API para usar son 'UpdateDriverForPlugAndPlayDevices' en XP, y' DiInstallDriver' en cualquier cosa pasada XP. –
Esta es una respuesta mejor: Inno setup: install drivers with rundll32 or dpinst?
Usando InstallHinfSection en Windows 7 y más allá parece ser roto o llena de dificultades. Hacer que funcione desde un archivo por lotes es difícil, hacerlo funcionar desde innosetup es aún más difícil. DPINST parece preferible, y es más simple.
que utilizan DPInst así:
[Files]
Source: "Source\dpinst\dpinst32.exe"; DestDir: "{app}\driver"; DestName: dpinst.exe; Check: not IsWin64; Flags: ignoreversion
Source: "Source\dpinst\dpinst64.exe"; DestDir: "{app}\driver"; DestName: dpinst.exe; Check: IsWin64; Flags: ignoreversion
[Run]
Filename: "{app}\driver\dpinst.exe"; Parameters: "/A /LM";
- 1. instalar/desinstalar un controlador .inf programáticamente usando C# .net
- 2. ¿Cómo puedo instalar una impresora usando .NET?
- 3. ¿cómo puedo construir un controlador usando Visual Studio?
- 4. Cómo quitar un atajo de escritorio por Innosetup
- 5. Cómo instalar wxPython usando virtualenv
- 6. ¿Cómo puedo instalar una jerarquía de archivos usando cmake?
- 7. ¿Cómo agrego un ensamblado .NET al GAC en InnoSetup?
- 8. ¿Cómo instalar JSON.NET usando NuGet?
- 9. InnoSetup: no desinstale los archivos modificados
- 10. ¿Cómo puedo generar una especificación de controlador usando rspec?
- 11. ¿Cómo puedo anular un controlador Magento?
- 12. ¿Cómo puedo configurar un controlador global DeadlineExceededError?
- 13. ¿Cómo puedo instalar un módulo CPAN en un directorio local?
- 14. ¿Cómo se ejecuta exe en InnoSetup?
- 15. usando diferentes diseños para un controlador completo
- 16. ¿Cómo instalar un servicio de Windows usando Qt?
- 17. ¿Cómo puedo instalar una joya local?
- 18. cómo instalar nativeXML usando Delphi 2009?
- 19. Instalador como InnoSetup para Mac
- 20. ¿Cómo puedo instalar un PyPi equivalente desde cero?
- 21. ¿Cómo abro un archivo usando el controlador predeterminado del shell?
- 22. ¿Cómo compartir un UIManagedDocument usando Storyboards con un controlador de barra de pestañas como controlador inicial?
- 23. ¿Cómo puedo vincular un controlador con un dispositivo USB?
- 24. ¿Cómo puedo probar un evento de un controlador MVC?
- 25. ¿Puedo instalar una página de hombre usando la especificación gem?
- 26. ¿Cómo puedo pasar datos de un AuthorizeAttribute al controlador?
- 27. ¿Cómo puedo redireccionar el registrador a wxPython textCtrl usando un controlador de registro personalizado?
- 28. ¿Cómo puedo verificar si se llamó a un controlador usando post u get?
- 29. ¿Cómo puedo crear un distribuible Octave simple sin instalar Octave
- 30. ¿Cómo puedo ejecutar SASS sin instalar?
yo no era capaz de instalar los conductores en DESTDIR: "C: \ Windows \ System32 \ drivers \" ;, apesar de que se especifica la ruta exacta hasta que añadí " ArchitecturesInstallIn64BitMode = x64 "a [Configuración]. Así que asegúrate de tener ese conjunto. –