Как работать с DCOM с помощью приложения VB6? Я получаю ошибку 462

У нас есть приложение VB6, которое использует некоторые библиотеки DLL на локальной машине. Теперь мы хотим распространить библиотеки DLL на удаленном сервере COM+.

Я зарегистрировал приложение COM на сервере и экспортировал его как установщик прокси .msi, установил его на свой локальный компьютер.

при запуске приложения появляется сообщение об ошибке "Ошибка выполнения "462" Удаленный сервер не существует или недоступен".

Когда я попытался отладить, я обнаружил, что он не вызывает одну из моих распределенных библиотек DLL.

Вопрос: Что я делаю не так? и что я могу сделать, чтобы решить эту проблему?

Dim oRefE As UtilitairesClientMal.Erreurs
Dim oRefTR As UtilitairesClientMal.TablesReference

Установите oRefE = New UtilitairesClientMal.Erreurs 'здесь происходит сбой и выполняется переход к следующей выделенной строке

g_sNomMachine = oRefE.NomMachineConnecte
g_sNomUtilisateur = oRefE.NomUtilisateurConnecte
Set oRefE = Nothing

........

Dim MonErreur As ALWErreur.Erreur

Set MonErreur = New ALWErreur.Erreur
  • Локальная машина W7 (32 бита)
  • Сервер Windows Server 2008 (32 бита).

Пожалуйста, будьте добры :), если кому-то нужны разъяснения, которые могут помочь, просто прокомментируйте (я не очень разбираюсь в VB6 и COM+, так что извините за мое невежество :()


person TheSM    schedule 04.02.2015    source источник
comment
Не уверен, потому что я сам этого не делал, но я считаю, что вам нужно использовать позднее связывание, то есть CreateObject. Кроме того, на сервере установлено более 1 сетевой карты?   -  person jac    schedule 04.02.2015
comment
@jac У меня есть проверка, на сервере две сетевые карты, я проверяю в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\DCOM ключ Протоколы DCOM имеют значение ncacn_ip_tcp Могу ли я использовать IP-адрес вместо имени сервера?   -  person TheSM    schedule 05.02.2015
comment
Я не знаю, потому что это, возможно, проблема, но вот пара ссылок на статьи по устранению неполадок в kb. support.microsoft.com/kb/183930/EN-US, support.microsoft.com/kb/269330/en-us   -  person jac    schedule 05.02.2015


Ответы (1)


Точная проблема была связана с тем, что на моем сервере есть два сетевых адаптера.

Я исправил это, используя IP-адрес вместо имени сервера:

На моем клиентском компьютере> dcomcnfg> Свойства MYAPP> Активация> Имя удаленного сервера

Затем я получил ошибку безопасности, говорящую «Отказано в доступе (70)», я исправил ее, изменив ограничения безопасности:

На сервере> dcomcnfg> Компьютеры> Свойства> Безопасность COM> проверено: Удаленное выполнение для «КАЖДОГО»

Я надеюсь, что это поможет кому-то, однажды. Если кому-то нужны пояснения, буду рад.

Благодаря jac он дал мне представление о проблеме.

person TheSM    schedule 06.02.2015