我在安装程序中有这个,我需要更改ini文件的名称。
[INI]
Filename: {app}\bin\old.ini; Section: Data; Key: key; String: Value;
如果我只是更改文件名,它将创建另一个ini文件,我将丢失数据。
是否有一些简单的方法可以在安装程序中重命名此ini文件?
答案 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文件将被重命名,并且只会在必要时更新任何条目。