Александр85
Новичок
Здравствуйте!
У меня при установке программы, удаляются ранее созданные правила и добавляются новые в Брандмауэр:
Всё верно в этом коде? Как сделать так, чтобы при установки программы проверялись, ранее созданные правила, от другой установки этой программы или если их вручную создали, например (по ключу реестра, где указан путь, например, если папки установки иная, или по названию файла/папки и т.п.)? Потом эти правила удалялись перезаписывались на новые, а при деинсталляции программы, все правила относящиеся к этом программе удалялись?
У меня при установке программы, удаляются ранее созданные правила и добавляются новые в Брандмауэр:
Код:
procedure CurStepChanged(CurStep: TSetupStep);
var
RC: Integer;
SIn, SOut: String;
begin
case CurStep of
ssInstall: begin
Exec(ExpandConstant('netsh.exe'), 'advfirewall firewall delete rule name="myprog1"','', SW_HIDE, ewWaitUntilTerminated, RC)
SIn:='advfirewall firewall add rule name="myprog1" dir=in action=block program='+ExpandConstant('"{app}\myprog1.exe"')+' enable=yes'; Exec('netsh', SIn,'', SW_HIDE, ewWaitUntilTerminated, RC)
SOut:='advfirewall firewall add rule name="myprog1" dir=out action=block program='+ExpandConstant('"{app}\myprog1.exe"')+' enable=yes'; Exec('netsh', SOut,'', SW_HIDE, ewWaitUntilTerminated, RC)
end;
end;
end;
Всё верно в этом коде? Как сделать так, чтобы при установки программы проверялись, ранее созданные правила, от другой установки этой программы или если их вручную создали, например (по ключу реестра, где указан путь, например, если папки установки иная, или по названию файла/папки и т.п.)? Потом эти правила удалялись перезаписывались на новые, а при деинсталляции программы, все правила относящиеся к этом программе удалялись?
Последнее редактирование: