Objektový model aplikace Outlook není vhodný pro spuštění ve službě systému Windows

Původní číslo KB: 237913

Souhrn

Objektový model aplikace Outlook (OOM) není vhodný pro použití z aplikace, která je navržená tak, aby byla spuštěna jako aplikace služby systému Windows nebo byla vytvořena. To zahrnuje aplikace ASP (Active Server Page), které běží v rámci Internetové informační služby (IIS), a aplikace, které běží společně se službami AT Scheduler nebo Task Scheduler.

OOM je model automatizace pro Outlook, který je navržený tak, aby běžel v relaci přihlášeného uživatele, ve které může uživatel reagovat na dialogová okna.

Toto je omezení návrhu Outlooku.

Další informace

OOM má čtyři hlavní omezení, která ho činí nevhodným pro použití v aplikaci služby systému Windows, a to následujícím způsobem:

  • Rozhraní MAPI ukládá profily pro každého uživatele v HKEY_CURRENT_USER podregistru registru. Tento podregistr registru není načten při spuštění aplikace služby systému Windows. Tento konkrétní problém může být zavádějící, protože během vývojového cyklu je vývojář interaktivně přihlášený k systému. To způsobí načtení podregistru HKEY_CURRENT_USER tak, aby vše fungovalo podle očekávání. Po otestování služby bez interaktivního přihlášení vlastníka profilu se službě nepodaří profil najít.

  • Pouze jedna instance Aplikace Outlook (aplikace, která exportuje objektový model Aplikace Outlook) může běžet současně v kontextu jednoho uživatele pomocí jednoho profilu. Pokud se stejný uživatel pokusí přihlásit pomocí druhého profilu, připojí se tento pokus uživatele k existující relaci aplikace Outlook. Pokud se uživatel pokusí spustit jinou kopii Aplikace Outlook (nebo OOM) z jiného kontextu uživatele, pokus se nezdaří. Pokud například aplikace zosobní jiného uživatele, například aplikaci služby systému Windows, pokus se nezdaří. Toto selhání má nepředvídatelné výsledky, jako je modální dialogové okno nebo chyba aplikace, která způsobí, že Outlook přestane reagovat na systém.

  • OOM vždy spustí zařazování MAPI během přihlášení. Klientské aplikace MAPI, které běží jako aplikace služby Systému Windows, musí při přihlašování k subsystému MAPI dodržovat několik omezení. Vzhledem k tomu, že Outlook nebyl navržen tak, aby běžel jako aplikace služby Windows, tyto konvence se nedodržují.

    Další informace najdete v tématu Úvod do aplikací služeb systému Windows.

  • Některé akce, které používají OOM, vyvolávají modální dialogová okna, kterým nelze zabránit a které vyžadují zásah uživatele. To by způsobilo, že aplikace přestane reagovat.

Doporučujeme použít rozšířený kód MAPI místo OOM v aplikacích služby Windows. Pokud kód nemusí pracovat přímo s Outlookem a může místo toho běžet proti poštovní schránce v Exchange, měli byste zvážit použití rozhraní API exchange, jako je Graph, Exchange REST a Exchange Web Services (EWS).

Odkazy

Další informace najdete v tématu Důležité informace o automatizaci Office na straně serveru.