Цитата MKN:
Есть ли иные способы работы с Firewall (для всех ОС) ? »
|
Для ANSI версии NSIS - копируешь файл
nsisFirewall.dll в C:\Program Files\NSIS\Plugins
Для Unicod версии NSIS - копируешь файл
nsisFirewallW.dll в C:\Program Files\NSIS\Unicod\Plugins (или как там).
Работает нормально, как на XP, так и на 7 (не проверял на x64 ОС)
В
7 смотри Дополнительные параметры>Правила для входящих поключений - что изменилось.
читать дальше »
Код:
Name "Sample nsisFirewall"
OutFile "Sample.exe"
ShowInstDetails show
Section "Main program"
;Добавляет в список исключений
nsisFirewall::AddAuthorizedApplication "$WINDIR\Notepad.exe" "nsisFirewall Test"
Pop $0
IntCmp $0 0 +3
MessageBox MB_OK "A problem happened while adding program to Firewall exception list (result=$0)"
Return
Exec "rundll32.exe shell32.dll,Control_RunDLL firewall.cpl"
MessageBox MB_OK "Program added to Firewall exception list.$\r$\n(close the control panel before clicking OK)"
;Удаляет из списка исключений
nsisFirewall::RemoveAuthorizedApplication "$WINDIR\Notepad.exe"
Pop $0
IntCmp $0 0 +3
MessageBox MB_OK "$0"
Return
Exec "rundll32.exe shell32.dll,Control_RunDLL firewall.cpl"
MessageBox MB_OK "Program removed to Firewall exception list"
SectionEnd