право доступа с OPC-клиентом, работающим как служба Windows

Я пишу клиентский процесс OPC в MFC, и все в порядке, когда я запускаю его напрямую в VS2010. Но когда я устанавливаю его как службы Windows, возникает проблема. Я все еще могу подключиться к OPC-серверу, но после подключения я проверяю статус OPCServer с помощью IOPCServer::GetStatus(), и он возвращает false! Есть ли что-то, на что мне нужно обратить внимание, когда я устанавливаю процесс как службу Windwos? Или какие-то настройки ОС нужно установить? (Моя ОС Win7)


person Nature    schedule 11.11.2013    source источник
comment
Я не понимаю. IOPCServer::GetStatus() находится на вашем сервере, верно? Это никак не связано с тем, что там клиент не подключен? Какой OPC-сервер вы используете?   -  person Camille G.    schedule 11.11.2013
comment
GetStatus() — это интерфейс, поддерживаемый OPCServer. Обычно после подключения клиента к OPCServer GetStatus возвращает значение true. Я проверяю это каждые 10 секунд. Но когда я запускаю процесс как службу Windows, GetStatus возвращает false, а SyncRead возвращает 0x800706ba. Я не думаю, что это проблема OPCServer, потому что, если я запускаю процесс непосредственно в CMD, он работает хорошо.   -  person Nature    schedule 12.11.2013
comment
Немного поискав в Интернете, я обнаружил, что 0x8000706ba соответствует: сервер RPC недоступен. Некоторые люди поняли это, но это больше похоже на проблему Win7, чем на что-либо еще .... попробуйте в WinPrompt: netsh advfirewall firewall set rule group=Windows Management Instrumentation (WMI) new enable=yes then : netsh advfirewall firewall set rule group=удаленное администрирование new enable=yes   -  person Camille G.    schedule 12.11.2013
comment
Это все еще не работает ... Брандмауэр на моем компьютере отключен. Эта проблема беспокоит меня в течение нескольких дней. Может быть, мне следует написать пакетный файл, чтобы запустить его как обычный процесс, вместо того, чтобы пытаться установить его как Windows оказание услуг.   -  person Nature    schedule 12.11.2013