Inno设置编辑xml文件而不更改其他数据

时间:2016-10-27 09:50:32

标签: inno-setup

这是我的Xml

贝塔:

optIn:false

下载:

altState:false ..>>>>>>>> "如何将 False 更改为 true 使用Inno Setup"

controlState:false

请帮帮我

1 个答案:

答案 0 :(得分:0)

执行sed功能

// sed(file_to_edit, 'original_text', 'new_text');
function sed(fname: String; Orig: String; Moded: String): Boolean;
var
  fhandle: AnsiString;
  fhandle_uni: String;
begin;
  Result := LoadStringFromFile(WizardDirValue() + '\' + fname, fhandle);
  if Result = True then
  begin
    fhandle_uni := String(fhandle);
    StringChangeEx(fhandle_uni, Orig, Moded, True);
    Result := SaveStringToFile(WizardDirValue() + '\' + fname, AnsiString(fhandle_uni), False);
  end;
end;

WizardDirValue()是安装目录,这将在完成安装后编辑文件。

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurpageID = wpFinished then
  begin;
    sed('file.xml', 'altState: false', 'altState: true')
  end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
  begin;
    sed('file.xml', 'altState: false', 'altState: true')
  end;
end;

两者都应该有效。