¿Puedo usar Inno Setup para importar un archivo .cer
(un certificado)?Usando Inno Setup, ¿cómo importar un archivo .cer de certificado?
¿Cómo puedo hacerlo?
Necesito crear un instalador certificado para Windows XP, Windows Vista y Windows 7.
¿Puedo usar Inno Setup para importar un archivo .cer
(un certificado)?Usando Inno Setup, ¿cómo importar un archivo .cer de certificado?
¿Cómo puedo hacerlo?
Necesito crear un instalador certificado para Windows XP, Windows Vista y Windows 7.
Añadir Certmgr.exe y yourcertificate.cer en configuración:
[Files]
Source: CertMgr.exe; DestDir: {app}; Flags: deleteafterinstall
Source: yourcertificate.cer; DestDir: {app}; Flags: deleteafterinstall
Y en la sección [Run], escribir algo como esto:
Filename: {app}\CertMgr.exe; Parameters: "-add -all -c yourcertificate.cer -s -r localmachine trustedpublisher"; Flags: waituntilterminated runhidden;
en realidad, el CertMgr.exe
no está disponible en todos los ordenadores y, además, no parece ser redistribuido (como se insinuó por @TL ama); y además ni siquiera lo necesitas.
CertUtil
está disponible en todas las máquinas de Windows (que he probado) y funciona a la perfección:
[Run]
Filename: "certutil.exe"; Parameters: "-addstore ""TrustedPublisher"" {app}\MyCert.cer"; \
StatusMsg: "Adding trusted publisher..."
¿Puedes elaborar en * "cada máquina de Windows (que he probado)" *? –
@MartinPrikryl Es cierto que podría haber hecho más pruebas. Lo descubrí ayer y no lo he probado exhaustivamente; hasta ahora solo en máquinas Win 10. Pero uno es VM en Azure, 2 son PC normales sin visual studio, dotNets, etc. (entonces no hay CertMgr.exe disponible), y luego está mi DevPC que tiene CertMgr pero CertUtil también trabaja en él. – SlowLearner
@MartinPrikryl ¿por qué agregar el '\' antes de StatusMsg? – SlowLearner
Estaba pensando acerca del uso de una línea de comandos con la utilidad Certmgr.exe. ¿Funcionaría con todos los sistemas de Windows? –
Certmgr.exe no es parte de Windows, por lo que debe agruparlo en su instalador. Creo que debería funcionar con todas las versiones de Windows, ya que es parte de Windows SDK. –