Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer)) (https://www.delphipraxis.net/193777-%5Binnosetup%5D-eigene-programm-exe-signieren-nicht-den-installer.html)

DCoderHH 8. Sep 2017 07:44

[InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
Wie kann ich mit Inno Setup meine eigene Program-EXE signieren, bevor das Setup erstellt wird? (Damit ist also nicht das Setup selbst gemeint, sondern meine mit Delphi erstelle EXE. Das Setup selbst signiere ich so per SignTool in der [Setup]-Sektion)

Ich habe es über die [PreCompile]-Sektion wie folgt probiert:

Code:
[PreCompile]
Name: "D:\Software\Code Signatur Zertifikat\signtool64.exe"; Parameters: "sign /d ""MyName"" /du ""http://www.myurl.de"" /f ""D:\SHA1.pfx"" /p ""keykeykey"" /t ""http://timestamp.comodoca.com/authenticode"" /v ""D:\Projekte\my.exe"""; Flags: cmdprompt redirectoutput

Redirected Console Output:
  > SignTool Error: File not found: D:\Software\Code
Warum klappt das nicht? Alle Pfade und Dateien existieren. Gibt es einen besseren Ansatz als über die [PreCompile]-Sektion?

Fritzew 8. Sep 2017 07:55

AW: [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
[PreCompile]
Name: ""D:\Software\Code Signatur Zertifikat\signtool64.exe""; Parameters: "sign /d ""MyName"" /du ""http://www.myurl.de"" /f ""D:\SHA1.pfx"" /p ""keykeykey"" /t ""http://timestamp.comodoca.com/authenticode"" /v ""D:\Projekte\my.exe"""; Flags: cmdprompt redirectoutput

Mach mal die " doppelt bei Name
Leerzeichen in Pfaden sind noch immer ..... Vor allem wenn die Console ins Spiel kommt

DCoderHH 8. Sep 2017 08:01

AW: [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
Zitat:

Zitat von Fritzew (Beitrag 1380572)
[PreCompile]
Name: ""D:\Software\Code Signatur Zertifikat\signtool64.exe""; Parameters: "sign /d ""MyName"" /du ""http://www.myurl.de"" /f ""D:\SHA1.pfx"" /p ""keykeykey"" /t ""http://timestamp.comodoca.com/authenticode"" /v ""D:\Projekte\my.exe"""; Flags: cmdprompt redirectoutput

Mach mal die " doppelt bei Name
Leerzeichen in Pfaden sind noch immer ..... Vor allem wenn die Console ins Spiel kommt

Die einfachen " werden von Inno so ertellt, wenn ich die Datei über den Datei-Dialog auswähle. Wenn ich es mit doppelten "" probiere, wird die Scriptzeile rot unterstrichen (Fehler). Wenn ich das Script dann laufen lasse, erscheint die Fehlermeldung:

Error: D:\MeineSetups\MeinSetupX\"D:\Software\Code Signatur Zertifikat\signtool64.exe" can not be found.

Bei drei """ verschwindet die rote Untesreichung im Script, aber die Fehlermeldung ist die selbe.

Fritzew 8. Sep 2017 08:13

AW: [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
Dann einfach und simple
ersetze die Leerzeichen in
\Code Signatur Zertifikat
durch unterstriche, und erspare dir die Problem die immer wieder mit Leerzeichen auftreten

mkinzler 8. Sep 2017 08:14

AW: [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
Warum signierst Du die Exe nicht einfach vorher?

DCoderHH 8. Sep 2017 08:16

AW: [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
Zitat:

Zitat von mkinzler (Beitrag 1380577)
Warum signierst Du die Exe nicht einfach vorher?

Weil wir nicht nur ein Produkt haben und weil es pro Produkt zig neue Versionen täglich gibt. Da stört es, das per Hand zu machen. Automatisierung spart Zeit...

Lemmy 8. Sep 2017 08:34

AW: [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
Zitat:

Zitat von DCoderHH (Beitrag 1380571)
Gibt es einen besseren Ansatz als über die [PreCompile]-Sektion?

spontan würde ich eine Batch-Datei nehmen die
* als erstes die exe und evtl. weitere Dateien signiert
* Innosetupcompiler aufruft um das Setup zu bauen
* zum Abschluss das Setup signiert.

und wenn ihr viele Produkte habt, dann gibt es viele batchdateien...

DCoderHH 8. Sep 2017 08:49

AW: [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
Zitat:

Zitat von Fritzew (Beitrag 1380576)
Dann einfach und simple
ersetze die Leerzeichen in
\Code Signatur Zertifikat
durch unterstriche, und erspare dir die Problem die immer wieder mit Leerzeichen auftreten

Damit klappt es... Danke.

Oder wie ich gerade herausgefunden habe:
In Parameters müssten alle Pfade in 4 """" eingefasst werden.

jaenicke 8. Sep 2017 09:15

AW: [InnoSetup] Eigene Programm-EXE signieren (nicht den Installer))
 
Zitat:

Zitat von DCoderHH (Beitrag 1380579)
Weil wir nicht nur ein Produkt haben und weil es pro Produkt zig neue Versionen täglich gibt. Da stört es, das per Hand zu machen. Automatisierung spart Zeit...

Wir benutzen dafür Jenkins als Buildmaschine. Da wird die passende Version erstellt (ggf. im selben Buildprozess per Auswahl, wenn man den Build startet), signiert, das Releasepaket erstellt usw.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz