私は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つだけにする必要があります。どうすればそれを実現できますか?
よし、分った。スクリプトを次のように変更しました。
[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;