COM сервера и процессы
От: Driver  
Дата: 14.02.03 17:18
Оценка:
Есть COM сервер, реализованный в exe.
Пользователь должен сам запустить exe-шник, когда захочет чтобы COM сервер стал доступным.
Когда экземпляр COM сервера создается с другого компьютера (соответственно и эккаунт другой — это важно !), то запускается новый процесс под этим "другим" эккаунтом (если эккаунт тотже самый, то новый процесс не создается).

Нужно, чтобы новый процесс не создавался и всегда использовалась уже зарегистрированная фабрика классов.

Как это можно сделать программно ?

Спасибо,
Alex.
Re: COM сервера и процессы
От: Tom Россия http://www.RSDN.ru
Дата: 14.02.03 18:17
Оценка:
Здравствуйте, Driver, Вы писали:

D>Есть COM сервер, реализованный в exe.

D>Пользователь должен сам запустить exe-шник, когда захочет чтобы COM сервер стал доступным.
D>Когда экземпляр COM сервера создается с другого компьютера (соответственно и эккаунт другой — это важно !), то запускается новый процесс под этим "другим" эккаунтом (если эккаунт тотже самый, то новый процесс не создается).

D>Нужно, чтобы новый процесс не создавался и всегда использовалась уже зарегистрированная фабрика классов.


D>Как это можно сделать программно ?


D>Спасибо,

D>Alex.

Обсуждали 3 — мя ветками ниже. В dcomcnfg.exe укажи запускаться от интерактивного пользователя.
Народная мудрось
всем все никому ничего(с).
Re[2]: COM сервера и процессы
От: Driver  
Дата: 17.02.03 09:00
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>Здравствуйте, Driver, Вы писали:


D>>Есть COM сервер, реализованный в exe.

D>>Пользователь должен сам запустить exe-шник, когда захочет чтобы COM сервер стал доступным.
D>>Когда экземпляр COM сервера создается с другого компьютера (соответственно и эккаунт другой — это важно !), то запускается новый процесс под этим "другим" эккаунтом (если эккаунт тотже самый, то новый процесс не создается).

D>>Нужно, чтобы новый процесс не создавался и всегда использовалась уже зарегистрированная фабрика классов.


D>>Как это можно сделать программно ?


D>>Спасибо,

D>>Alex.

Tom>Обсуждали 3 — мя ветками ниже. В dcomcnfg.exe укажи запускаться от интерактивного пользователя.


Как быть если никто на машине не залогинен ?
(Тут небольшая поправка: exe-шник могут запустить пользователь или система)
Re[3]: COM сервера и процессы
От: MaximE Великобритания  
Дата: 17.02.03 09:16
Оценка:
Здравствуйте, Driver, Вы писали:

D>Как быть если никто на машине не залогинен ?

D>(Тут небольшая поправка: exe-шник могут запустить пользователь или система)

Как раз для этого существуют NT-сервисы и учетная запись LocalSystem.
Re[4]: COM сервера и процессы
От: Ivan Россия www.rsdn.ru
Дата: 17.02.03 09:22
Оценка:
Здравствуйте, MaximE, Вы писали:

D>>Как быть если никто на машине не залогинен ?

D>>(Тут небольшая поправка: exe-шник могут запустить пользователь или система)
ME>Как раз для этого существуют NT-сервисы и учетная запись LocalSystem.

Сервисы — это здорово, но чтобы сделать из out-of-process сервис — придется поработать.
От себя могу предложить в dcomcnfg выбрать тип 'Identity' — This User. Это позволит запускать out-of-process независимо от того, есть интерактивный пользователь или нет.
Re[5]: COM сервера и процессы
От: MaximE Великобритания  
Дата: 17.02.03 09:35
Оценка:
Здравствуйте, Ivan, Вы писали:

ME>>Как раз для этого существуют NT-сервисы и учетная запись LocalSystem.


I>Сервисы — это здорово, но чтобы сделать из out-of-process сервис — придется поработать.

I>От себя могу предложить в dcomcnfg выбрать тип 'Identity' — This User. Это позволит запускать out-of-process независимо от того, есть интерактивный пользователь или нет.

Как-то я утомился от неидеального мира и компромиссов
Пора создавать идеальный: если надо поработать — значит работать — труды окупятся сторицей.
Re[6]: COM сервера и процессы
От: Ivan Россия www.rsdn.ru
Дата: 17.02.03 09:42
Оценка:
Здравствуйте, MaximE, Вы писали:

ME>Пора создавать идеальный: если надо поработать — значит работать — труды окупятся сторицей.

Ага, особенно если это сопровождение уже реализованной (возможно, кем-то другим ) системы — автору топика идея переписать COM-сервер в виде сервиса вряд ли понравится . А еще [имхо] сервисы имеют свои особенности и с ними надо разбираться — код ATL визарда для сервиса далек от совершенства
Re[7]: COM сервера и процессы
От: Tom Россия http://www.RSDN.ru
Дата: 17.02.03 11:12
Оценка:
Здравствуйте, Ivan, Вы писали:

I>Здравствуйте, MaximE, Вы писали:


ME>>Пора создавать идеальный: если надо поработать — значит работать — труды окупятся сторицей.

I>Ага, особенно если это сопровождение уже реализованной (возможно, кем-то другим ) системы — автору топика идея переписать COM-сервер в виде сервиса вряд ли понравится . А еще [имхо] сервисы имеют свои особенности и с ними надо разбираться — код ATL визарда для сервиса далек от совершенства
I>

Все мы несовершенны. Как говорится лучшее — враг хорошего.
Народная мудрось
всем все никому ничего(с).
Re[8]: COM сервера и процессы
От: Ivan Россия www.rsdn.ru
Дата: 17.02.03 11:14
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>Все мы несовершенны. Как говорится лучшее — враг хорошего.

Хорошая фраза для техподдержки, например
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.