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

Вниз

ошибка "Отказано в доступе" при вызове CreateOleObject( xxx )   Найти похожие ветки 

 
Fedor   (2005-05-19 11:18) [0]

У меня такая ситуация:
Я написал несколько програм, которые используют OLE.
Создавал OLE я при помощи CreateOleObject("xxx")

Потом захотелось мне переписать несколько приложений на сервис.
Все делал анологично, но при вызове CreateOleObject("xxx") возникала ошибка "Не был произведен вызов CoInitialize".
Я вызываю сначало CoInitialize, а потом CreateOleObject("xxx").
Возникает другая ошибка "Отказано в доступе".
Пробовал делать CreateOleObject("Excel.Application") - все работает. А мой "xxx" не работает. Я понял, что это из-за сети ("xxx" находится удалённо на другой машине).
Запускаю свой сервис под экаунтом админа и всё работает!!!
Но мне не нравится, что я в своём сервисе привязываюсь к паролю админа(при замене пароля неохота менять его и на сервисе).
Сервис зароботал, но возникло куча других проблем.
Теперь другие программы которые используют OLE (CreateOleObject("xxx")) выдают ошибку "Отказано в доступе".
Если запускать прграмму с другой машины (не на той, на которой установлен сервис), то прога работает нормально.

Слышал надо покапаться в утилите "dcomcnfg", но не могу разобраться, что в ней менять.


 
-=XP=- ©   (2005-05-19 12:00) [1]

Я понял, что это из-за сети ("xxx" находится удалённо на другой машине). Запускаю свой сервис под экаунтом админа и всё работает!!! Но мне не нравится, что я в своём сервисе привязываюсь к паролю админа

Удалить пароль админа - и всех делов!
Заодно это понравится всяким разным хакерам - запускай сервис на любой удаленной машине!
Лепота! :)

P.S. Для решения таких вопросов существует понятие "домен".


 
Shaman_Naydak;   (2005-05-19 18:23) [2]

В dcomcbfg находишь свой класс и даешь права на запуск и на доступ... вот.. в домене ясен пень все проще ибо список пользователей один..
как другой варинт ты можешь в своем классе указать какую безопасность тебе итреба
например
CoInitializeSecurity(@Class_, -1, nil, nil, 0, 0, nil, 8, nil);
заходи бери кто хошь
пишу по памяти могу и соврать


 
Fedor   (2005-06-03 15:50) [3]

Утилитку dcomcnfg я запускаю на той машине к которой я коннекчус (поидее она меня не пускает). Или я ошибаюсь?
В утилитке dcomcnfg я не нашёл своё приложение, в безопастность по умолчанию добавил везде SYSTEM, в свойствах по умолчанию сделал:
Уровень проверки подленности = НЕТ
Уровень олицетворения = аноним

Раскажи где ты видел такую ф-ю
CoInitializeSecurity(@Class_, -1, nil, nil, 0, 0, nil, 8, nil);
Я её не нашёл ни в хелпе Делфи, ни в WinSDK.



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
1-1121197077
ronyn
2005-07-12 23:37
2005.07.31
Загрузка программы при загрузке ОС.


10-1097086180
ИМХО
2004-10-06 22:09
2005.07.31
Набор закладок в вордовском документе


1-1121252021
ZSergey
2005-07-13 14:53
2005.07.31
почему компилятор пропускает строки?


14-1121066101
Kerk
2005-07-11 11:15
2005.07.31
Посоветуйте хороший RSS-аггрегатор


4-1117626873
AlexTregubov
2005-06-01 15:54
2005.07.31
Как нарисовать рамку вокруг TEdit?