Вопрос Запись и удаление строки в Host файле

AlexS

Новичок
Прошу помощи у софорумчан... Возникла необходимость записать строку в host файл. Как это осуществить я нашёл способ. Возник другой вопрос : "Как удалить запись из host файла при деинсталляции". Перепробовал много вариантов и никак... Обратился к справочнику Inno - не нашел...
[/CODE]
procedure CurStepChanged(CurStep: TSetupStep);
begin
If CurStep=ssPostInstall
then
begin
SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13 + ' 127.0.0.1 www.example.com', True);
end;
end;
 

vint56

Ветеран
Проверенный
AlexS,
Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[code ]
// ---  Прописка hosts ------------------------------------------------------------
 procedure CurStepChanged(CurStep: TSetupStep);
 var
   HostFile: TStringList;
 begin
   HostFile := TStringList.Create;
   try
     with HostFile do
     if CurStep = ssPostInstall then
     begin
       LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
       Add('127.0.0.1    static3.cdn.ubi.com');
       Add('127.0.0.1    orbitservice.ubi.com');
       Add('127.0.0.1    ubisoft-orbit.s3.amazonaws.com');
       SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
     end;
   finally
     HostFile.free;
   end;
 end;
// ---  Удаление hosts ------------------------------------------------------------
 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
 var
   HostFile: TStringList;
 begin
   HostFile := TStringList.Create;
   try
     with HostFile do
     begin
       LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
       if IndexOf('127.0.0.1    static3.cdn.ubi.com') <> -1 then Delete(IndexOf('127.0.0.1    static3.cdn.ubi.com'));
       if IndexOf('127.0.0.1    orbitservice.ubi.com') <> -1 then Delete(IndexOf('127.0.0.1    orbitservice.ubi.com'));
       if IndexOf('127.0.0.1    ubisoft-orbit.s3.amazonaws.com') <> -1 then Delete(IndexOf('127.0.0.1    ubisoft-orbit.s3.amazonaws.com'));
       SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
     end;
   finally
     HostFile.free;
   end;
 end;
 
Последнее редактирование:
Сверху