2016-05-13 7 views
0

Ich habe eine Anwendung mit Inno Setup-Installer. Anwendung läuft im Hintergrund. Das heißt, wenn ich die Anwendung aktualisiere (indem ich eine neue Version über die alte installiere), brauche ich das Installationsprogramm, um diese Anwendung zu schließen, damit alle Dateien ordnungsgemäß ersetzt werden können.Force Inno Setup zum Erstellen von Protokoll sogar bei Installationsfehler

Aber es scheint, dass es manchmal aus einem unbekannten Grund die Anwendung nicht schließen kann. Um einen Grund zu bekommen, möchte ich es protokollieren. Das Problem ist, dass der Benutzer, da das Installationsprogramm Dateien nicht ersetzen kann, eine Fehlermeldung erhält, die das Beenden des Installationsprogramms stoppt. Und Inno Setup schreibt das Protokoll erst, nachdem die Installation erfolgreich abgeschlossen wurde.

Die eigentliche Frage ist - ist letzte Anweisung korrekt, oder gibt es eine Möglichkeit, Inno Setup-Installer zu konfigurieren, so wird es Protokolldatei auch bei abgebrochener Installation erstellen? Ich habe die Idee, meine eigene manuelle Protokolldatei zu erstellen, die beim Start der Installation erstellt und jedes Mal aktualisiert wird, wenn eine Methode ausgeführt wird, aber ich möchte das Rad nicht neu erfinden.

Antwort

1

Und Inno Setup schreibt Protokoll erst nach erfolgreicher Beendigung der Installation.

Nein, das ist nicht korrekt.

Das Protokoll wird gestartet, sobald das Installationsprogramm gestartet wird, noch bevor es schließlich fehlschlägt.

So gibt es einige Log immer (wenn aktiviert), egal was.

Sobald das Installationsfenster öffnet, sieht das Protokoll schon wie:

2016-05-13 12:30:45.712 Log opened. (Time zone: UTC+02:00) 
2016-05-13 12:30:45.712 Setup version: Inno Setup version 5.5.9 (u) 
2016-05-13 12:30:45.712 Original Setup EXE: C:\path\mysetup.exe 
2016-05-13 12:30:45.712 Setup command line: /SL5="$C0338,134364,121344,C:\path\mysetup.exe" /SPAWNWND=$200C5A /NOTIFYWND=$110C08 /log=install.log 
2016-05-13 12:30:45.712 Windows version: 10.0.10586 (NT platform: Yes) 
2016-05-13 12:30:45.712 64-bit Windows: Yes 
2016-05-13 12:30:45.712 Processor architecture: x64 
2016-05-13 12:30:45.712 User privileges: Administrative 
2016-05-13 12:30:45.712 64-bit install mode: No 
2016-05-13 12:30:45.712 Created temporary directory: C:\Users\martin\AppData\Local\Temp\is-K3VS6.tmp 

Das Protokoll nur, wenn erstellt:

  • Sie bitten, für sie mit /log=c:\path\setup.log Schaltern (wie Sie kann in meinem Protokoll oben sehen) oder
  • das Protokoll wird mit der SetupLogging=yes directive erzwungen, in diesem Fall wird das Protokoll inerstellt.
+0

Wo kann dieses Protokoll gefunden werden? Ich habe gerade mit der Installation begonnen, aber der Anmeldeordner scheint alt zu sein (von der vorherigen erfolgreichen Installation). – lentinant

+0

Ok, ich habe dieses gefunden, danke. Immer gedacht, dass das eigentliche Protokoll InstallationLogFile im Stammverzeichnis der Anwendung ist. Jetzt einige zusätzliche Fragen - ist es möglich, Name der Protokolldatei im Installer zu bekommen? Also kann ich es in einen bestimmten Ordner kopieren. – lentinant

+0

Es gibt keine direkte Unterstützung für den Protokollpfad. Für das mit '/ log' angegebene Protokoll können Sie die Befehlszeile des Installationsprogramms analysieren. Für das automatische Protokoll können Sie versuchen, die neueste Datei zu finden, die mit '% TEMP% \ Setup Log * .txt' übereinstimmt. –

Verwandte Themen