Создал простое Dialog-based MFC приложение. Добавил в него поддержку ATL и простой ATL объект. Фабрика регистрируется с флагом REGCLS_MULTIPLEUSE. Все делал с помощью визарда. Ни строчки кода вручную. Регистрирую сервер. Настраиваю запуск через DCOMCNFG сначала как "Interactive User", а потом как "This User". В обоих случаях при запуске клиента сервер стартует от "Launching User". Т.е. настройки DCOMCNFG игнорируются.
Есть готовый Exe сервер, который корректно воспринимает настройки DCOMCNFG. Регистрирую его в системе. И заменяю Exe своим сервером (в котором поменял CLSID и IID на те, которые зарегистрированы в системе). Снова запускаю клиент (с новыми CLSID и IID). Все работает. Т.е. сервер стартует согласно настройкам DCOMCNFG.
В чем может быть дело?
Re: ATL COM EXE сервер не настраивается через DCOMCNFG
Здравствуйте, ledex, Вы писали:
L>Создал простое Dialog-based MFC приложение. Добавил в него поддержку ATL и простой ATL объект. Фабрика регистрируется с флагом REGCLS_MULTIPLEUSE. Все делал с помощью визарда. Ни строчки кода вручную. Регистрирую сервер. Настраиваю запуск через DCOMCNFG сначала как "Interactive User", а потом как "This User". В обоих случаях при запуске клиента сервер стартует от "Launching User". Т.е. настройки DCOMCNFG игнорируются. L>Есть готовый Exe сервер, который корректно воспринимает настройки DCOMCNFG. Регистрирую его в системе. И заменяю Exe своим сервером (в котором поменял CLSID и IID на те, которые зарегистрированы в системе). Снова запускаю клиент (с новыми CLSID и IID). Все работает. Т.е. сервер стартует согласно настройкам DCOMCNFG. L>В чем может быть дело?
Посмотрите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppId вашего приложения}
Есть ли там переменная RunAs и какое у нее значение.
Re[2]: ATL COM EXE сервер не настраивается через DCOMCNFG
Здравствуйте, john_silver, Вы писали: _>Посмотрите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppId вашего приложения} _>Есть ли там переменная RunAs и какое у нее значение.
Значение RunAs соответствует настройке DCOMCNFG.
Re[3]: ATL COM EXE сервер не настраивается через DCOMCNFG
Здравствуйте, ledex, Вы писали:
L>Здравствуйте, john_silver, Вы писали: _>>Посмотрите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppId вашего приложения} _>>Есть ли там переменная RunAs и какое у нее значение.
L>Значение RunAs соответствует настройке DCOMCNFG.
Ну а класс, который вы создаете, имеет ссылку на этот AppID?
Оказался глюк утилиты DCOMCNFG в Win7 (x64). Для регистрации 32-битных компонент нужно запускать DCOMCNFG вот так C:\WINDOWS\SysWOW64>mmc comexp.msc /32.
Все сразу заработало!!!
Проблема описана тут: http://msdn.microsoft.com/en-us/library/ms678426(VS.85).aspx (в конце статьи)