Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#32

AW: eigenes Zertifikat

  Alt 25. Jul 2020, 12:31
Nee, sieht OK aus.

Wenn die KTE_Release das hat, dann muss die Development_Runtime das natürlich auch haben, dazumal in der ja die Signatur hinzugefügt wurde.

Und egal ob das Zertifikat installiert ist oder nicht, angezeigt muß es dennoch werden, da es ja in der EXE drin stekt.
Das "Installiert" im Zertifikatsspeicher entscheidet nur darüber wie es angezeigt wird, also ob es verifiziert werden kann oder nicht.


Ich denke hier eher daran, dass z.B. der Explorer noch den alten Inhalt anzeigt und nicht aktualisiert wurde.
Ich hab das öfters mal mit der Dateigröße oder dem Änderungsdatum ... da hilft dann nichtmal ein F5 oder Explorer zu+auf ... aber mal kurz den Dateieigenschaftendialog auf und schon stimmte es auch in der Liste wieder, das kappte bisher eigentlich immer.


Aber du weißt doch bestimmt selbst, dass eine Fehlerhandlung nie schaden kann.
Code:
@echo off

:: ExitCode: 0 = OK / 1 = Failure / 2 = Warning

set file=xxx
set outdir=E:\Projects\Projects_Delphi\%file%\_out
set signtool="E:\Projects\Projects_Delphi\%file%\Certificate\Tools\signtool.exe"

if not exist "%outdir%\Development_Runtime\%file%.exe" exit /b 1
if not exist "%outdir%\app\KTE_Release\Win32" (
  md "%outdir%\app\%file%_Release\Win32"
  if errorlevel 1 exit /b 1
)

%signtool% sign /v /s "%file% Certificate Store" /n "%file% Signierung" /fd SHA256 "%outdir%\Development_Runtime\%file%.exe"
if errorlevel 1 exit /b %errorlevel%

%signtool% verify /pa /v "%outdir%\Development_Runtime\%file%.exe"
if errorlevel 1 exit /b %errorlevel%

copy "%outdir%\Development_Runtime\%file%.exe" "%outdir%\app\KTE_Release\Win32\%file%.exe"
if errorlevel 1 exit /b 1
@ : damit auch das echo off nicht angezeigt wird, weil ist ja erst danach aus
set : damit das Ganze bissl übersichtlicher wird
exit 123 und errorlevel : damit man außerhalb auch eine Fehlerprüfung vornehmen kann, z.B. im FinalBuilder/BuildServer/BuildScript oder Dergleichen das Ergebnis auswerten
exit /b statt exit : damit nur dieses Script abgebrochen und nicht gleich ALLEs (das aufrufende Script)

Statt BEFEHL mit anschließendem IF ginge z.B. auch COPY source dest || exit 1 , also wenn beim Ersten der ErrorLevel > 0, dann das Zweite ausführen.
https://ss64.com/nt/syntax-conditional.html

Code:
deine.cmd
if errorlevel 1 echo Fehler %errorlevel% & pause
$2B or not $2B

Geändert von himitsu (25. Jul 2020 um 17:29 Uhr)
  Mit Zitat antworten Zitat