Я написал небольшое приложение на C # для выполнения задач брандмауэра, таких как блокировка IP-адресов, включение / отключение брандмауэра и т. Д. Оно отлично работает на Windows 7 x64, но как только я пробую его на Windows Server 2008 x64, оно падает. Вот как выглядит мой код, где он падает ...
public partial class frmMain : Form
{
private INetFwMgr FWManager;
public frmMain()
{
InitializeComponent();
Type NetFwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", false);
FWManager = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);
if (getFirewallStatus() == true)
UpdateFirewallStatus(true);
else
UpdateFirewallStatus(false);
ListOpenPorts();
}
}
Ошибка что-то в этом роде ...
Problem Event Name: CLR20r3
Problem Signature 01: brutalnt.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 4ed589c8
Problem Signature 04: mscorlib
Когда я удалил строки, чтобы получить Диспетчер брандмауэра, он запустился нормально. Так нужно ли мне получить его по-другому в Server 2008?