Как я могу переименовать INI-файл в Inno Setup? - PullRequest
0 голосов
/ 25 ноября 2008

У меня есть это в моем установщике, и мне нужно изменить имя INI-файла.

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

Если я просто изменю имя файла, он создаст другой INI-файл, и я потеряю данные.

Есть ли какой-нибудь простой способ переименовать этот INI-файл в программе установки?

Ответы [ 2 ]

2 голосов
/ 25 ноября 2008

Я думаю, что вы должны использовать RenameFile () в разделе [CODE], так как вы знаете, где находится INI-файл.

1 голос
/ 01 декабря 2008

Просто подробней об ответе Филио:

В разделе [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-файл, старый будет уже переименован и при необходимости просто обновит все записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...