如何在Inno Setup中重命名ini文件?

时间:2008-11-25 11:04:41

标签: inno-setup

我在安装程序中有这个,我需要更改ini文件的名称。

[INI]
Filename: {app}\bin\old.ini; Section: Data; Key: key; String: Value;

如果我只是更改文件名,它将创建另一个ini文件,我将丢失数据。

是否有一些简单的方法可以在安装程序中重命名此ini文件?

2 个答案:

答案 0 :(得分:2)

我认为您应该在[CODE]部分中使用RenameFile(),因为您知道ini文件的位置。

答案 1 :(得分:1)

对PhiLho的回答更加冗长:

在安装程序的[INI]部分中,只需将所有内容更改为新的.ini文件,然后在代码中重命名ssInstall步骤中的旧文件,如下所示:

procedure CurStepChanged(CurStep: TSetupStep);
var
  OldFile: string;
begin
  if CurStep = ssInstall then
  begin
    OldFile := ExpandConstant('{app}\old.ini');
    if FileExists(OldFile) then
      RenameFile(OldFile, ExpandConstant('{app}\new.ini'));
  end;
end;

它按预期工作,因为ssInstall发生在[INI]部分之前,因此当安装程序尝试创建新的.ini文件时,旧的.ini文件将被重命名,并且只会在必要时更新任何条目。