У меня проблема с разрешениями для COM объекта Outlook.Applications, дело в том, что мне необходимо дать разрешения на запуск и выполнение этого Объекта пользователю IUSR_Computer, тоесть обыкновенному гостю из интернета. По умолчанию ему запрещено поднимать этот объект на сервере.
В OleView я не нашёл этого объекта.. Есть другие Outlook.*.... (см. скриншот) Само приложение (в составе офиса 2000) у меня установлено. Подскажите пожалуйста, что мне делать?
Заранее благодарен.
Разрешение нужно дать потому, что по "заказу" пользователя инета на сервере формируются объекты оутлуковские, такие как "Контакт" например.
Re: Как дать разрешение Outlook.Applications
От:
Аноним
Дата:
02.12.03 14:54
Оценка:
На сервере юзать Outlook — идея хыбна
Попробуй через CDO
Здравствуйте, Аноним, Вы писали:
А>На сервере юзать Outlook — идея хыбна А>Попробуй через CDO
Я через CDO создаю письмо и отправляю куда надо, но не это главное.
Главное, туда вложить объект "Оутлуук.Контакт" по данным, которые юзер ввёл в форму и "Оутлуук.Мессадже" в случае, если юзер оставил коментарии.
Типа менеджерам облегчение работы, в первом случае — у них в адресной книге тот час же появляется контакт, и им не нужно создавать контакт ручками и копировать из письма, во втором случае — у них есть готовое письмо для отправки абоненту, с его же коментариями.
вот в общем почему мне Оутлуук.Аппликэйшн на сервере надо поднимать, тока изза того, чтобы создать эти 2 объекта.
У меня такое чувство, господа, что на этом форуме почти никто ответа то и не знает — я уже неделю назад спрашивал в "Веб программировании" пару дней назад — в администрировании...
Спасибо тем, кто top` что нибудь напишет... прикольное
или познавательное
Здравствуйте, Adward, Вы писали:
A>Доброго времени суток!
A> У меня проблема с разрешениями для COM объекта Outlook.Applications, дело в том, что мне необходимо дать разрешения на запуск и выполнение этого Объекта пользователю IUSR_Computer, тоесть обыкновенному гостю из интернета. По умолчанию ему запрещено поднимать этот объект на сервере. A> В OleView я не нашёл этого объекта.. Есть другие Outlook.*.... (см. скриншот) Само приложение (в составе офиса 2000) у меня установлено. Подскажите пожалуйста, что мне делать? A>Заранее благодарен.
Посмотрел у себя — этот объект есть в All objects под названием Microsoft Outlook
Справа в первой закладке виден его ProgID = Outlook.Application.10 (у меня Office XP)
Я доигрался блин( !
зашёл в OLE/COM Object Viewer на Object Classes->All Objects->Microsoft Outlook
сказал, что доступ к объектам Microsoft Outlook на Launch permissions и на Access Permissions имеет пользователь ADWARD\IUSR_ADWARD (тоесть ADWARD — моя машина, IUSR_ADWARD — гостевой пользователь инета)
после этого у меня даже на VBA перестал подниматься объект
Set OU = New Outlook.Application
кричит, что
ASP говорит тоже самое:
Пичём это даже после того, как я вернул дефолтные значения на Ланч и на Ацесс пермишны в Оливье....(((
Здравствуйте, Adward, Вы писали:
A>Я доигрался блин( ! A>зашёл в OLE/COM Object Viewer на Object Classes->All Objects->Microsoft Outlook
A>сказал, что доступ к объектам Microsoft Outlook на Launch permissions и на Access Permissions имеет пользователь ADWARD\IUSR_ADWARD (тоесть ADWARD — моя машина, IUSR_ADWARD — гостевой пользователь инета) A>после этого у меня даже на VBA перестал подниматься объект A>Set OU = New Outlook.Application A>кричит, что
...
A>Пичём это даже после того, как я вернул дефолтные значения на Ланч и на Ацесс пермишны в Оливье....(((
A>что мне делать?
A>
Ну не знаю, может OLEViewer подгадил — попробуй Microsoft Outlook прямо в dcomcnfg сконфигурить.
Попробуй создать Outlook.Application в VC или Delphi (с правильным CLSCTX) там больше информации об ошибке.
Во-вторых. Сколько у Вас было в All Objects разных Microsoft Outlook? Если один — тогда идем дальше. Если два — возможно, остался "хвост" от старого и придется сделать оффису "ремонт". Но мне кажется, что у Вас, все-таки, был один Outlook.
В третьих. Вы могли поменять разрешения на запуск компоненты когад компонента уже была загружена. Это не очень хорошо, но обычно перезагрузка системы спасает.
В четвертых. Проверьте в dcomcnfg default access permissions и default launch permissions. По умолчанию, на уже настроенном ISS, они должны быть следующие:
а) Access Permissions — SYSTEM, Allow.
б) Launch Permissions — Administrators, INTERACTIVE, IUSR_ADWARD, IWAM_ADWARD, SYSTEM — Allow.
Если это так — пытаемся копать дальше.
В пятых. Можно попробовать сделать оффису "ремонт" — есть такая стандартная опция в его инсталляторе. Можно попытаться этот ремонт проделать руками — то есть, зарегистрировать нужные сервера вручную. Для этого нужно сделать regsrv32.exe outllib.dll, если мне не изменяет склероз.
Если ничего не помогает — я поддерживаю andrewalx, что нужно написать маленькое тестовое приложение и посмотреть коды ошибок, возвращаемые CoCreateInstanceEx.
Также я поддерживаю Анонима, который высказался против использования Outlook на сервере — все же, это клиентское приложение со своими недостатками проектирования для сервера. Все, о чем Вы говорите в качестве контраргумента, делается в более старых версиях Exchange с помощью Extended MAPI, а в более новых — CDO. То, что Вам нужно (Outlook.Contact) имеет класс сообщения IPM.Contact.
Такие вот дела. Удачи Вам в борьбе с непослушными Микрософтовскими продуктами.
A>Я доигрался блин( ! A>зашёл в OLE/COM Object Viewer на Object Classes->All Objects->Microsoft Outlook
A>сказал, что доступ к объектам Microsoft Outlook на Launch permissions и на Access Permissions имеет пользователь ADWARD\IUSR_ADWARD (тоесть ADWARD — моя машина, IUSR_ADWARD — гостевой пользователь инета) A>после этого у меня даже на VBA перестал подниматься объект A>Set OU = New Outlook.Application A>кричит, что
A>
A>ASP говорит тоже самое:
A>
A>Пичём это даже после того, как я вернул дефолтные значения на Ланч и на Ацесс пермишны в Оливье....(((
A>что мне делать?
A>
Здравствуйте, MaksymS, Вы писали:
MS> Ну, во-первых, не паникуйте.
Ну, после полутаранедельной безуспешной борьбы с проблемой, которую я вообще никогда не трогал в своей жизни — тут не паника, апатия, опускание рук и всё такое. Начальству вынес вердикт — отрицательное решение тоже решение. В общем они остались недовольны, хоть и согласились.
Появилась идея написать на дельфи приложение(ActiveX), которое будет дёргать Outlook.App и запускать его от имени другого юзера, например админа системы. решение криво, но помоему единственное...
MS> Во-вторых. Сколько у Вас было в All Objects разных Microsoft Outlook? Если один — тогда идем дальше. Если два — возможно, остался "хвост" от старого и придется сделать оффису "ремонт". Но мне кажется, что у Вас, все-таки, был один Outlook.
Их было 2. у одного достаточно много описаний всяких справа, у второго — всё скудно, ClsId помоему и всё.
MS> В третьих. Вы могли поменять разрешения на запуск компоненты когад компонента уже была загружена. Это не очень хорошо, но обычно перезагрузка системы спасает.
Перезагрузка не спасла, а вот о том, что оутлук в этот момент был загружен я и не подумал. Да и IIS его может держать, тоесть и его надо тормозить при смене разрешений, я так понимаю...
MS> В четвертых. Проверьте в dcomcnfg default access permissions и default launch permissions. По умолчанию, на уже настроенном ISS, они должны быть следующие: MS> а) Access Permissions — SYSTEM, Allow. MS> б) Launch Permissions — Administrators, INTERACTIVE, IUSR_ADWARD, IWAM_ADWARD, SYSTEM — Allow. MS> Если это так — пытаемся копать дальше.
Это для кого разрешения? для IIS или Outl.App? Если для IIS — непойму зачем...
MS> В пятых. Можно попробовать сделать оффису "ремонт" — есть такая стандартная опция в его инсталляторе. Можно попытаться этот ремонт проделать руками — то есть, зарегистрировать нужные сервера вручную. Для этого нужно сделать regsrv32.exe outllib.dll, если мне не изменяет склероз.
посталкагольная амнезия
MS> Если ничего не помогает — я поддерживаю andrewalx, что нужно написать маленькое тестовое приложение и посмотреть коды ошибок, возвращаемые CoCreateInstanceEx.
Не, тут я к сожалению маленький профи, т.е. профан
MS> Также я поддерживаю Анонима, который высказался против использования Outlook на сервере — все же, это клиентское приложение со своими недостатками проектирования для сервера. Все, о чем Вы говорите в качестве контраргумента, делается в более старых версиях Exchange с помощью Extended MAPI, а в более новых — CDO. То, что Вам нужно (Outlook.Contact) имеет класс сообщения IPM.Contact.
Ой, а можно поподробнее? именно этот момент? я на сервере повсеместно использую объект
objCDO = Server.CreateObject("CDONTS.NewMail");
Для этого мне даже пришлось специально зарегистрировать в системе cdonts.dll, так как не входит в состав XP
Где я могу поподробнее узнать об объекте IPM.Contact? Будет ли создаваемый объект совместим с Outlook 2000/2002?
MS> Такие вот дела. Удачи Вам в борьбе с непослушными Микрософтовскими продуктами.
Спасибо большое! Вам того же Пусть становятся послушными!
Re: Как дать разрешение Outlook.Applications
От:
Аноним
Дата:
04.12.03 12:11
Оценка:
Если нужно только создавать Contact, можешь попробовать делать это напрямую через MAPI
Правда, прийдётся кое-с-чем разобраться, но если тебе не нужны все properties, то там не так уж и много разбираться
Здравствуйте, Аноним, Вы писали:
А>Если нужно только создавать Contact, можешь попробовать делать это напрямую через MAPI
Можно пример, или доку, или ресурс где я могу об этом прочитать?
Я не знаком с MAPI понимаю, что очередной какой то API и всё.... Можно ли подымать MAPI объекты напрямую с ASP? не писать дополнительную фигню на других, более "продвинутых" языках? А>Правда, прийдётся кое-с-чем разобраться, но если тебе не нужны все properties, то там не так уж и много разбираться
вот вот... дайте зверя потрогать — там уж разберёся думаю
Спасибо
A> Можно пример, или доку, или ресурс где я могу об этом прочитать?
MSDN forver
Вот это ещё http://www.cdolive.com/cdo10.htm
A> Я не знаком с MAPI понимаю, что очередной какой то API и всё.... Можно ли подымать MAPI объекты напрямую с ASP? не писать дополнительную фигню на других, более "продвинутых" языках?
Сомневаюсь что получится
Обёртку на ++ прийдётся прописать скорее всего