Just being more verbose about PhiLho's answer:
In the [INI] section of the installer, just change everything to the new .ini file, then in the code rename the old file in the ssInstall step like this:
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;
It works as expected because the ssInstall occurs before the [INI] section, so when the installer tries to create the new .ini file the old one will be already renamed and it will just update any entries if necessary.