Página 1 de 1

[RESUELTO] Creación de paquetes de software con controladores

Publicado: 20 de junio de 2017 - 14:54
por Sebd
Hola.

Me gustaría crear paquetes para software como MPLABX o la suite Arduino.
Sin embargo, estos programas instalan controladores que impiden la instalación silenciosa.

O bien no funciona, o se abren las ventanas de instalación de controladores en el ordenador.

¿Tienes alguna idea de cómo solucionar este problema?

Sébd

Re: Creación de paquetes de software con controladores

Publicado: 20 de junio de 2017 - 23:57
por sfonteneau
Hola,

es posible implementar controladores con pnputil.exe.

Se debe agregar "TrustedPublisher" durante la instalación para evitar la advertencia amarilla que aparece al ejecutar pnputil.

Si aparece una advertencia roja (controladores sin firmar), no es posible implementar los controladores de forma silenciosa.

En este caso, debe volver a firmar los controladores con su propio certificado. Luego, agréguelos como TrustedPublisher.

Ejemplo de un paquete donde hice esto:
https://wapt.lesfourmisduweb.org/detail ... 1_all.wapt

Simon

Re: Creación de paquetes de software con controladores

Publicado: 22 de junio de 2017 - 12:06 p. m.
por Sebd
Buen día.

Gracias a tu ejemplo pude crear un paquete funcional.
Sin embargo, tuve que instalar el parche kb2921916 para Windows 7 para deshacerme de las ventanas de uno de los controladores.
No hay problemas en Windows 10.

Código: Seleccionar todo

def install():
    print('installing iutgeii-mplab-x-ide-v3.61')

    currentpath = os.path.dirname(os.path.realpath(__file__))
    if windows_version() < Version('6.2.0'):
        run_notfatal(r'C:\Windows\System32\wusa.exe %s\Windows6.1-KB2921916-x64.msu /quiet' % currentpath)

    run(r'C:\Windows\System32\certutil.exe -addstore "TrustedPublisher" %s\mplabx361.cer' % currentpath)
    run(r'C:\Windows\System32\certutil.exe -addstore "TrustedPublisher" %s\mplabx361-2.cer' % currentpath)
    run(r'C:\Windows\System32\certutil.exe -addstore "TrustedPublisher" %s\mplaxusb361-1.cer' % currentpath)
    run(r'C:\Windows\System32\certutil.exe -addstore "TrustedPublisher" %s\mplaxusb361-2.cer' % currentpath)
    run_notfatal(r'%s\x64\dpinst_x64.exe /S /F'  % currentpath)

    time.sleep(4)

    run(r'MPLABX-v3.61-windows-installer.exe --mode unattended')

    remove_desktop_shortcut('MPLAB X IDE v3.61.lnk')
    remove_desktop_shortcut('MPLAB driver switcher.lnk')
    remove_desktop_shortcut('MPLAB IPE v3.61.lnk')

Gracias por su ayuda :)

Re: Creación de paquetes de software con controladores

Publicado: 18 de octubre de 2018 - 11:36 a. m.
por gaelds
sfonteneau escribió: 20 de junio de 2017 - 23:57 Hola,

es posible implementar controladores con pnputil.exe.

Se debe agregar "TrustedPublisher" durante la instalación para evitar que se muestre la advertencia (amarilla) al ejecutar pnputil.

Si se muestra una advertencia roja (controladores sin firmar), no es posible implementar los controladores silenciosamente.

En este caso, debe volver a firmar los controladores con su propio certificado. Luego, agréguelos como TrustedPublisher.

Ejemplo de un paquete donde lo hice:
https://wapt.lesfourmisduweb.org/detail ... 1_all.wapt

Simon
¿Cómo creaste el archivo "smp.cer"?

Re: Creación de paquetes de software con controladores

Publicado: 20 de octubre de 2018 - 10:11 a. m.
por dcardon
Hola Gaelds,
gaelds escribió: 18 de octubre de 2018 - 11:36
sfonteneau escribió: 20 de junio de 2017 - 23:57 Hola
...
En este caso, necesitas volver a firmar el controlador con tu propio certificado. Luego agrégalo como un TrustedPublisher.
¿Cómo creaste el archivo "smp.cer"?
Es un certificado estándar con opción de firma de código. Puede crear una autoridad de certificación con OpenSSL, implementarla en su red usando el paquete proporcionado por Simon, generar un certificado de firma de código de esta autoridad y luego firmarlo con sus controladores.

Atentamente,

Denis

Re: Creación de paquetes de software con controladores

Publicado: 26 de noviembre de 2018 - 09:13
por gaelds
dcardon escribió: 20 de oct. de 2018 - 10:11 Es un certificado estándar con opción de firma de código. Puedes crear una autoridad de certificación con OpenSSL, implementarla en tu red usando el paquete que mencionó Simon, generar un certificado de firma de código a partir de esa autoridad y firmarlo con tus controladores.
Saludos,
Denis
Disculpa, pero no entendí la respuesta. ¿Existen procedimientos en línea para crear este tipo de certificado? ¿Y cómo se crea el archivo trusted.reg, que se añade al registro antes de pnputil en el paquete de Simon?

Re: [RESUELTO] Creación de paquetes de software con controladores

Publicado: 28 de enero de 2019 - 13:58
por gaelds
Hola, ¿
alguien podría explicarme cómo firmar un controlador con mi propio certificado? Tengo el mismo problema con un controlador sin firmar (advertencia roja) usando el software "EasyBuilder 8000" y no encuentro instrucciones en línea.