如何在 inno setup 中覆盖现有日志文件

如何在 inno setup 中覆盖现有日志文件

我是 inno setup 的新手。我想要日志信息,为此我设置了 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; 

但是当我安装安装程序时,它会生成一个新的日志文件,其文件名为 Setup Log 2014-08-11 #001、Setup Log 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;

相关内容