Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Как dcomcnfg вычисляет AppId?   Найти похожие ветки 

 
kingdom ©   (2003-02-03 12:00) [0]

При инсталяции некоторой проги я выполняю автоматическую настройку DCOM (чтобы пользователю не запускать dcomcnfg.exe).
Так вот, до недавнего времени я считал что dcomcnfg берет в кажестве AppId, GUID первого CoClass"а из библиотеки типов,
однако, появилось несколько новых серверов где это оказалось не так.

Как же dcomcnfg выбирает AppId?


 
kingdom ©   (2003-02-03 14:58) [1]

Согласен, что проблема не глобпльная, но может есть гуру, которые помогут :(


 
icWasya ©   (2003-02-03 15:02) [2]

а проверь такой вариант - в каком порядке GUID`ы встречаются в Реестре???


 
kingdom ©   (2003-02-03 16:06) [3]

>icWasya
Даже не знаю, что сказать, на тестовом примере децствительно так,
но есть один сервер где такие GUID"ы
{44EC98AD-5B98-4CE3-A530-06ABDF5D7152}
{7C494E12-B750-4F62-BC2D-A7A597F1C0E9}
{579F6038-90A7-432D-B202-D2AF1C18A032}
и при этом dcomcnfg выбирает последний!


 
Юрий Федоров ©   (2003-02-03 16:14) [4]

Если я правльно понял, то AppID должен быть записан как параметр в ветке с CLSID


 
kingdom ©   (2003-02-03 16:22) [5]

>Юрий Федоров
Это понятно, а вот чему равен AppId?

>to all
На самом деле в качестве AppId подойдет любой GUID, можно даже его самому сгенерировать, но хочется, чтобы он был точно такой же как у dcomcnfg. Вроде это всегда GUID ко-класса, но вот какого именно, если их несколько не очень понятно...


 
Набережных С.   (2003-02-03 17:07) [6]

>kingdom ©

Dcomcnfg сам создает AppID для совместимости со старыми серверами, не регистрирующими AppID самостоятельно. Нормально и правильно самому провести регистрацию, используя для этого уникальный GUID.


 
kingdom ©   (2003-02-04 11:40) [7]

>Набережных С.
Интересно он генерит, что AppId всегда совпадает с одним из GUID"ов из библиотеки типов, замечу, что я не один десяток серверов регистрировал.


 
Набережных С.   (2003-02-05 14:25) [8]

>kingdom © (04.02.03 11:40)

Он не генерит. Ты правильно написал, что он использует GUID одного из классов, но только в том случая, если сервер сам не зарегистрировал свой AppID. AppID нужен для подсистемы безопасности. До появления DCOM защиты в COM не было и ключа этого не было, а когда в NT4 появилась DCOM, то потребовалась и защита. Тогда и был введен этот ключ. В общем, RTFM.


 
kingdom ©   (2003-02-06 12:20) [9]

>Набережных С.
"он использует GUID одного из классов, но только в том случая, если сервер сам не зарегистрировал свой AppID"
ну да так оно и происходит, изначально серверам и нечего там писать (как правило)!

И все-таки, вопрос остается открытым,
по какому принципу dcomcnfg выбирает GUID для использования в качестве AppId?


 
Набережных С.   (2003-02-06 14:27) [10]

К хирургу.



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
7-53302
SPIRIT
2002-12-17 16:50
2003.02.17
Свой DESKTOP


1-53075
Yrtimd
2003-02-06 20:39
2003.02.17
Разбор


7-53301
old_mole
2002-12-17 12:44
2003.02.17
Как поменять резолюцию принтера?


3-52741
KonuhovSegey
2003-01-23 07:46
2003.02.17
Блокировка записи в TQuery-- TUpdateSQL.


1-52892
maxim2
2003-02-05 09:51
2003.02.17
Как узнать из Delphi что кликнули на кнопку в ролике Flash