У меня есть устаревший сервер DCOM и клиентское приложение, написанные на Delphi v6. Сервер DCOM в настоящее время настроен для однократного запуска и обслуживания всех клиентов. Основная причина, по которой он запускается один раз, заключается в том, что сервер предоставляет интерфейс для приложения учетных записей и должен войти в систему и может сделать это только один раз для данного имени пользователя.
Теперь наш клиент хочет обновить свой сервер до Windows Server 2008 R2, оставив клиентов на Windows XP, но мне не удалось воспроизвести текущую настройку.
Текущая установка, которую я могу заставить работать на испытательном стенде, немного странная!
- Мне нужно настроить параметры DCOM, чтобы разрешить удаленный запуск, или я получаю отказ в доступе на клиенте
- Если сервер DCOM еще не запущен, когда клиент пытается подключиться к нему, я получаю сообщение об ошибке выполнения сервера.
- Если сервер работает и разрешение на запуск настроено на удаленный запуск, клиент запускает новый экземпляр сервера DCOM, а не использует уже запущенный экземпляр. Затем это вызывает проблемы в приложении учетных записей, поскольку тот же пользователь пытается войти в систему, что не разрешено.
- Если я закрою сервер DCOM, работающий на сервере, клиент с радостью будет работать со своим собственным экземпляром. Я не вижу основную форму серверов DCOM, хотя она работает в фоновом режиме (можно увидеть в диспетчере задач)
Я нашел различные статьи, связанные с этой проблемой, но пока ничего не помогло. К ним относятся запуск сервера DCOM от имени администратора, без запуска сервера DCOM от имени администратора, разрешение COM + в брандмауэре, добавление сервера DCOM к брандмауэру, сервера DCOM, расположенного в SysWOW64, использование 32-разрядной версии DCOMCNFG и т. Д.
Теперь не уверен, куда идти ...
Спасибо за любую помощь
Саймон