2008-11-25 4 views
0

У меня это в моем установщике, и мне нужно изменить имя ini-файла.Как переименовать INI-файл в Inno Setup?

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

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

Есть ли простой способ переименовать этот файл ini в установщик?

ответ

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

2

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

Смежные вопросы