[Setup] AppName = MyApp AppVerName = MyApp DefaultDirname = {pf}\MyApp OutputDir=. [Code] var i: Integer; Path: String; function GetValue(strFilename,keyFind: string; var tvalue: string): string; var strArr: TArrayOfString; begin LoadStringsFromFile(strFilename,strArr); for i:= 0 to GetArrayLength(strArr)-1 do begin if Pos(keyFind,strArr[i])>0 then begin Delete(strArr[i],1,Pos(keyFind,strArr[i])+Length(keyFind)-1); Delete(strArr[i],Pos(' ',strArr[i]),Length(strArr[i])); tvalue:= strArr[i]; Result:= tvalue; Exit; end; end; end; procedure SearchReplace(FilePath,Find,Value: string); var sf,sr,sv: string; ss: TArrayOfString; begin GetValue(FilePath,Find,sv); LoadStringsFromFile(FilePath, ss); for i:=0 to GetArrayLength(ss)-1 do begin if Pos(find, ss[i])>0 then begin sf:= find + sv; sr:= find + Value; StringChange(ss[i], sf, sr); SaveStringsToFile(FilePath, ss, False); Exit; end; end; end; procedure CurStepChanged(CurStep: TSetupStep); begin Path:= 'C:\file.txt'; if FileExists(Path) then case CurStep of ssPostInstall: SearchReplace(Path,'language=','"russian"'); end; end; |