Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 149
Благодарности: 38

Профиль | Отправить PM | Цитировать


Цитата Dodakaedr:
добавить программу в исключения брандмауэра windows? »
вот так можно
читать дальше »

[code]
[CustomMessages]
ru.FireWallAllow=Программа установки добавит %1 в исключения брандмауэра Windows на текущем профиле (%2). Хотите продолжить?
en.FireWallAllow=Setup will now add %1 to Windows Firewall as an authorized application for the current profile (%2). Do you want to continue?

ru.FireWallAllowOk=Программа установки добавила %1 в исключения брандмауэра Windows на текущем профиле.
en.FireWallAllowOk=Setup is now an authorized application %1 for the current profile

Код: Выделить весь код
const
   NET_FW_IP_VERSION_ANY = 2;
   NET_FW_SCOPE_ALL = 0;

procedure AddFirewall(Name,AppName:string);
var
  Firewall, Application: Variant;
begin

  if MsgBox(ExpandConstant('{cm:FireWallAllow,'+AppName+','+GetUserNameString+'}'), mbInformation, mb_YesNo) = idNo then
    Exit;

  { Create the main Windows Firewall COM Automation object }

  try
    Firewall := CreateOleObject('HNetCfg.FwMgr');
  except
    RaiseException('Please install Windows Firewall first.'#13#13'(Error ''' + GetExceptionMessage + ''' occurred)');
  end;

  { Add the authorization }

  Application := CreateOleObject('HNetCfg.FwAuthorizedApplication');
  Application.Name := Name; //Название записи о разрешении
  Application.IPVersion := NET_FW_IP_VERSION_ANY;
  Application.ProcessImageFileName := AppName;//ExpandConstant('{srcexe}'); //Собственно программа
  Application.Scope := NET_FW_SCOPE_ALL;
  Application.Enabled := True;

  Firewall.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(Application);
  MsgBox(ExpandConstant('{cm:FireWallAllowOk,'+AppName+'}'), mbInformation, mb_Ok);

end;

function AddToFireWall(param:string):boolean;
begin
result:=false;
if IsComponentSelected('app1') then
  AddFirewall('App 1', ExpandConstant('{app}\app1.exe')); 
end;

[Run]
Filename:'';Flags: nowait; Check: AddToFireWall('setup')

Отправлено: 18:03, 27-02-2014 | #2391