Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   PostBuild mit Pause im Batch funktioniert nicht richtig (https://www.delphipraxis.net/216520-postbuild-mit-pause-im-batch-funktioniert-nicht-richtig.html)

Sherlock 10. Jan 2025 11:30

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Knapp am Thema vorbei: Für wirklich korrekte Signaturen wird auch die Option /tr benötigt. Vgl. https://learn.microsoft.com/de-de/do...s/signtool-exe

haentschman 10. Jan 2025 12:25

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Zitat:

Für wirklich korrekte Signaturen
...ist eine selbsterstellte Signatur für nur Intern. :zwinker:

Uwe Raabe 10. Jan 2025 15:51

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Schau mal in das Ausgabe-Log der IDE nach dem Build. Dort müsste beim timeout Befehl folgende Fehlermeldung erscheinen:
Code:
FEHLER: Die Eingabeumleitung wird nicht unterstützt. Prozess wird unverzüglich beendet.
Wenn es nicht darauf ankommt, dass die IDE auf das Signieren wartet, dann kannst du im Build-Event diesen Befehl eintragen:
Code:
start cmd /C <Pfad>\Release.bat

Uwe Raabe 10. Jan 2025 16:32

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1545049)
Wenn es nicht darauf ankommt, dass die IDE auf das Signieren wartet

Wenn es doch drauf ankommen sollte, kannst du auch den WaitFor-Befehl missbrauchen und auf ein nicht kommendes Signal warten:
Code:
waitfor /T 5 pause > nul

haentschman 20. Jan 2025 14:26

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Was lange währt wird gut.
Code:
waitfor /T 5 pause > nul
...jetzt wird anstandslos gewartet und die Signierung läuft durch. :zwinker:

himitsu 20. Jan 2025 15:01

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Eigentlich wartet WAITFOR auf ein bestimmtes Signal und der Timeout-Parameter ist für einen "vorzeitigen" Abbruch vorhaden.
Wenn das Signal aber vorher/sofort kommt, dann wird natürlich nicht so lange gewartet.

TIMEOUT ist der Befehl zum Warten. (auch wenn man immernoch zu oft den "Hack" mit PING findet)



Ich würde in den Scripten immer ein EXIT machen (oder das ErrorLevel/ExitCode setzen), sowohl bei Fehlern, als auch beim OK mit 0.
(außer beim Event ist eingestellt, dass die Rückgabe nicht behandelt wird)

Zitat:

Zitat von haentschman (Beitrag 1545012)
Im Postbuild soll die Datei (bat) die Signierung durchführen. Jedes Mal beim Ausführen ist die Datei noch in Benutzung!. :roll: Deswegen habe ich 5 Sekunden Timeout eingestellt (timeout /T 5).

Wir fummeln im AfterBuild auch an der EXE/DLL/BPL rum und hatten noch nie ein Problem, dass die Datei noch im Zugriff ist (seitens Delphi), auch ohne ein Timeout. :gruebel:

Uwe Raabe 20. Jan 2025 15:14

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Zitat:

Zitat von himitsu (Beitrag 1545427)
Eigentlich wartet WAITFOR auf ein bestimmtes Signal und der Timeout-Parameter ist für einen "vorzeitigen" Abbruch vorhaden.
Wenn das Signal aber vorher/sofort kommt, dann wird natürlich nicht so lange gewartet.

Deswegen schrieb ich ja auch:
Zitat:

Zitat von Uwe Raabe (Beitrag 1545052)
auf ein nicht kommendes Signal warten


himitsu 20. Jan 2025 16:02

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Bei soeinem allgemeinen Bezeichner, wie "pause", wäre ich mir da nicht 100% sicher, dass er nicht doch mal verwendet werden könnte.

Diesbezüglich stellt TIMEOUT mit /nobreak für mich irgendwie eine sicherere Variante dar.

Uwe Raabe 20. Jan 2025 16:51

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Zitat:

Zitat von himitsu (Beitrag 1545432)
Diesbezüglich stellt TIMEOUT mit /nobreak für mich irgendwie eine sicherere Variante dar.

So wie die IDE den Befehl ausführt, funktioniert das ja eben nicht:
Zitat:

Zitat von Uwe Raabe (Beitrag 1545049)
Code:
FEHLER: Die Eingabeumleitung wird nicht unterstützt. Prozess wird unverzüglich beendet.


himitsu 20. Jan 2025 16:59

AW: PostBuild mit Pause im Batch funktioniert nicht richtig
 
Befehle direkt innerhalb der IDE, sowie MSBuild, haben sowieso viele Probleme (vor allem sowas if ERRORLEVEL kann man da vergessen),
aber innerhalb einer Batch sollte es doch gehn? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:35 Uhr.
Seite 2 von 3     12 3      

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