Текущий архив: 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.46 MB
Время: 0.01 c