web-dev-qa-db-ja.com

innosetupで既存のログファイルを上書きするにはどうすればよいですか

私はinnosetupを初めて使用します。ロギング情報が必要なため、SetupLogging = yesを設定し、ログファイルを取得するために次のコードを使用しました。

procedure CurStepChanged(CurStep: TSetupStep);
    var
 logfilepathname, logfilename, newfilepathname: string;

 begin
  logfilepathname := expandconstant('{log}');
  logfilename := ExtractFileName(logfilepathname);
  newfilepathname := expandconstant('{app}\') +logfilename;

  if CurStep = ssDone then
  begin
    filecopy(logfilepathname, newfilepathname, false);
  end;
 end; 

しかし、インストーラーをインストールすると、セットアップログ2014-08-11#001、セットアップログ2014-08-11#002などのファイル名で新しいログファイルが生成されます。

しかし、インストーラーを複数回実行しても、複数のログファイルは必要ありません。実行するたびに、既存のログファイル自体を上書きする必要があります。ログファイルは1つだけにする必要があります。どうすればそれを実現できますか?

1
beginner

よし、分った。スクリプトを次のように変更しました。

[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
  logfilepathname, logfilename, newfilepathname: string;
  begin

  logfilepathname := expandconstant('{log}');

// logfilename := ExtractFileName(logfilepathname); 

// RenameFile(logfilename,'Setup_Log.log');

 newfilepathname := expandconstant('{app}\') +'Setup_Log.log'

 if CurStep = ssDone then
  begin
     filecopy(logfilepathname, newfilepathname, false);
  end;

  end;
1
beginner