Inno Setup gibt den Protokollnamen im Installationsprogramm an

Robert Wigley

Die Einstellung SetupLogging=yeserstellt eine Datei:

% TEMP% \ Setup-Protokoll JJJJ-MM-TT # NNN.txt

Gibt es eine Möglichkeit, den Namen der Datei anzugeben? Beachten Sie, dass ich weiß, dass ich es FileCopyam Ende der Installation umbenennen kann ( Wie kann ich Inno Setup-Installationen protokollieren? ), Aber ich möchte einfach den Namen der Datei zu Beginn angeben, ähnlich wie dies mit dem Switch möglich ist /log=%TEMP%\ProductInstall.log. Ist das möglich?

Martin Prikryl

Nein, es ist nicht möglich. Das Protokolldateinamenformat für SetupLoggingist fest codiert.

Alles, was Sie tun können, um einzuchecken InitializeSetup, wenn dies /LOG=in der Befehlszeile angegeben wurde, und wenn nicht, das Installationsprogramm mit dem erneut zu erzeugen /LOG=.

Obwohl es etwas übertrieben ist.

function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string;
  lpParameters: string; lpDirectory: string; nShowCmd: Integer): THandle;
  external '[email protected] stdcall';

function InitializeSetup(): Boolean;
var
  HasLog: Boolean;
  Params: string;
  I: Integer;
  S: string;
  RetVal: Integer;
begin
  HasLog := False;
  Params := '';
  for I := 1 to ParamCount do
  begin
    S := ParamStr(I);
    if CompareText(Copy(S, 1, 5), '/LOG=') = 0 then
    begin
      HasLog := True;
      break;
    end;
    { Do not pass our /SL5 switch }
    if CompareText(Copy(S, 1, 5), '/SL5=') = 0 then
    begin
      Params := Params + AddQuotes(S) + ' ';
    end;
  end;

  Result := True;
  if HasLog then
  begin
    Log('Log specified, continuing.');
  end
    else
  begin
    { add selected language, so that user is not prompted again }
    Params := Params + ' /LANG=' + ActiveLanguage;
    { force logging }
    Params := Params + ' /LOG="' + ExpandConstant('{%TEMP}\ProductInstall.log') + '"';
    Log(Format('Log file not specified, restarting setup with [%s]', [Params]));
    RetVal := ShellExecute(0, '', ExpandConstant('{srcexe}'), Params, '', SW_SHOW);
    Log(Format('Restarting setup returned [%d]', [RetVal]));
    if RetVal > 32 then
    begin
      Log('Restart with logging succeeded, aborting this instance');
      Result := False;
    end
      else
    begin
      Log(Format('Restarting with logging failed [%s], keeping this instance', [
        SysErrorMessage(RetVal)]));
    end;
  end;
end;

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Inno Setup gibt den Protokollnamen im Installationsprogramm an

Deinstallieren Sie im Inno Setup-Installationsprogramm die Installation von InstallShield LE

Werden Kommentare im Abschnitt Inno Setup [Code] in einem generierten Installationsprogramm gespeichert?

Wie lege ich eine globale Umgebungsvariable im Inno Setup-Installationsprogramm fest?

Wie bündle ich Laufzeitabhängigkeiten von NuGet-Paketen im Inno Setup-Installationsprogramm?

Eingebettetes CMD im Inno Setup-Installationsprogramm (Befehlsausgabe auf einer benutzerdefinierten Seite anzeigen)

Lassen Sie Inno Setup Installer den Installationsfortschrittsstatus an das Master-Installationsprogramm melden

Wie minimiere ich mein Installationsprogramm in Inno Setup?

Das Inno Setup-Installationsprogramm unter Windows XP gibt "keine gültige Win32-Anwendung" an.

Ändern Sie die Konfigurationsdatei im kompilierten Inno Setup-Installationsprogramm (benutzerdefinierte Konfigurationsdatei für jede heruntergeladene ausführbare Datei).

Wählen Sie die Anwendungssprache aus und speichern Sie sie in der Registrierung im Inno Setup-Installationsprogramm

Das interne Inno Setup-Installationsprogramm hat nicht den Produktnamen des Hauptinstallationsprogramms, was mit der AppLocker-Regel in Konflikt steht

Wie kann ich den Namen im Fenstertitel in Inno Setup ändern?

Inno Setup: Wie manipuliere ich den Fortschrittsbalken im Registrierungsbereich?

Wie Inno Setup den Befehl "pin" im Taskleistenmenü versteckt

Erstellen Sie ein transparentes Installationsprogramm mit Inno Setup?

Microsoft SmartScreen - mit dem Inno Setup-Installationsprogramm angehalten?

Wie erstelle ich ein MSI-Installationsprogramm mit Inno Setup?

Erstellen Sie das Installationsprogramm mit Inno Setup schneller

Das Laden der DLL mit Abhängigkeiten in Inno Setup schlägt im Deinstallationsprogramm mit "DLL kann nicht importiert werden" fehl, funktioniert jedoch im Installationsprogramm

Warum ist das Installationsprogramm in Inno Setup 6 um 1 MB größer als in Inno Setup 5?

Installieren der Anwendung für den aktuell angemeldeten Benutzer aus dem Inno Setup-Installationsprogramm, das als Administrator ausgeführt wird

Zugriff auf den Speicher, auf den PAnsiChar im Inno Setup Pascal Script verweist

Gibt es eine Möglichkeit, 64-Bit-DLLs im Abschnitt [Code] in Inno Setup zu verwenden?

Warum gibt {pf32} bei Inno Setup den falschen Wert zurück?

Inno-Setup gibt den Fehler "Keine passenden Dateien gefunden" aus Auch schwierige Dateien sind vorhanden

Legen Sie den Dienststarttyp im WiX-Installationsprogramm fest

Inno Setup Iterieren Sie über den Abschnitt [Dateien] im Pascal-Code

Inno Setup: Wie manipuliere ich den Fortschrittsbalken im Abschnitt Ausführen?

TOP Liste

  1. 1

    So verschieben Sie ein Bild in Flutter/Dart mit einem Draggable

  2. 2

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  3. 3

    TypeAhead.js zeigt keine Ausgangsschienen an?

  4. 4

    Deklarieren einer nicht initialisierten Variablen in der Klassendefinition in Python

  5. 5

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  6. 6

    spring-data-jpa: ORA-01795: Die maximale Anzahl von Ausdrücken in einer Liste beträgt 1000

  7. 7

    Warum funktioniert Phantomjs nicht mit dieser Site?

  8. 8

    Interpolieren Sie mit Python die 2D-Matrix entlang der Spalten

  9. 9

    numpy: Berechnen Sie die Ableitung der Softmax-Funktion

  10. 10

    Wie vermeide ich, dass die gesamte App neu geladen wird, wenn Nav.Link von React-Bootstrap verwendet wird?

  11. 11

    MongoDB eingebettetes Dokument unterscheiden und filtern

  12. 12

    Aktualisieren des Werts im Json-Objekt in Python

  13. 13

    Warum funktioniert das Umgebungslicht in diesem Beispiel nicht?

  14. 14

    Python gibt einen Fehler aus, dass eine Datei nicht vorhanden ist, wenn dies eindeutig der Fall ist

  15. 15

    Wie verwende ich Format-Table ohne Abschneiden von Werten?

  16. 16

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  17. 17

    Überprüfen Sie, ob der ausgewählte Wert 'YES' ist, wenn ja, aktivieren Sie ein Steuerelement mit Javascript

  18. 18

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  19. 19

    Holen Sie sich verwandte Pillen Inhalt mit angeklickten img in Angular

  20. 20

    Eclipse Oxygen - Projekte verschwinden

  21. 21

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

heißlabel

Archiv