А вот кстати как это будет на COM.
Особо не разбирался в возможностях просто транслировал пример из MSDN.
Не уверен что будет работать до WinXP_SP2, но стоит проверить.
Код:

;Firewall Adding an Application
;Set constants
Const $NET_FW_PROFILE_DOMAIN = 0
Const $NET_FW_PROFILE_STANDARD = 1
;Scope
Const $NET_FW_SCOPE_ALL = 0
;IP Version – ANY is the only allowable setting for now
Const $NET_FW_IP_VERSION_ANY = 2
;Create the firewall manager object.
$ObjfwMgr = ObjCreate("HNetCfg.FwMgr")
;Get the current profile for the local firewall policy.
$Profile = $ObjfwMgr.LocalPolicy.CurrentProfile
$App = ObjCreate("HNetCfg.FwAuthorizedApplication")
$App.ProcessImageFileName = @ProgramFilesDir&"\PowerDVD\PowerDVD.exe" ;Путь
$App.Name = "PowerDVD" ;Имя как будет значиться в списке исключений
;Use either Scope or RemoteAddresses, but not both !!!!!! (Если не понятно лучше не трогать)
$App.Scope = $NET_FW_SCOPE_ALL
;$App.RemoteAddresses = "*"
$App.IpVersion = $NET_FW_IP_VERSION_ANY
$App.Enabled = TRUE ; TRUE - Галочка стоит, FALSE - Галочка снята
$Profile.AuthorizedApplications.Add($App)