Model obiektów programu Outlook nie nadaje się do uruchamiania w usłudze systemu Windows

Oryginalny numer KB:   237913

Podsumowanie

Model obiektowy programu Outlook nie nadaje się do używania z aplikacji przeznaczonej do uruchamiania lub obsługi przechowania przez aplikację usługi systemu Windows. Dotyczy to aplikacji Active Server Page (ASP) uruchamianych w ramach internetowych usług informacyjnych (IIS, Internet Information Service) oraz aplikacji uruchamianych razem z usługami AT Scheduler lub Task Scheduler.

Program OOM to model automatyzacji programu Outlook przeznaczony do uruchamiania w sesji zalogowanego użytkownika, w której użytkownik może odpowiadać na okna dialogowe.

Jest to ograniczenie projektowe programu Outlook.

Więcej informacji

Funkcja OOM ma cztery główne ograniczenia, które sprawiają, że nie można go używać w aplikacji usługi systemu Windows, w następujący sposób:

  • W interfejsie MAPI są przechowywane profile poszczególnych HKEY_CURRENT_USER użytkowników w ramach rejestru. Ten rejestr nie jest ładowany przy uruchamianiu aplikacji usługi systemu Windows. Ten konkretny problem może być zniechęcą, ponieważ w trakcie cyklu opracowywania deweloper jest interakcyjnie zalogowany do systemu. Spowoduje to HKEY_CURRENT_USER załadowanie tej aplikacji, tak aby wszystko działało zgodnie z oczekiwaniami. Po przetestowaniu usługi bez zachowania interakcyjnego logowania właściciela profilu usługa nie może odnaleźć profilu.

  • Przy użyciu jednego profilu można jednocześnie uruchomić tylko jedno wystąpienie programu Outlook (aplikacja, która eksportuje model obiektów programu Outlook). Jeśli ten sam użytkownik spróbuje zalogować się przy użyciu drugiego profilu, ta próba dołączy użytkownika do istniejącej sesji programu Outlook. Jeśli użytkownik spróbuje uruchomić inną kopię programu Outlook (lub aplikacji OOM) z innego kontekstu użytkownika, ta próba zakończy się niepowodzeniem. Jeśli na przykład aplikacja personifikuje innego użytkownika, na przykład aplikację usługi systemu Windows, próba zakończy się niepowodzeniem. Ten błąd ma nieprzewidywalne wyniki, takie jak modalne okno dialogowe lub błąd aplikacji, który powoduje, że program Outlook przestaje odpowiadać na system.

  • Program OOM zawsze uruchamia bufor MAPI podczas logowania. Aplikacje klienckie MAPI uruchamiane jako aplikacje usługi systemu Windows muszą podlegać kilku ograniczeniom podczas logowania się do podsystemu MAPI. Ponieważ program Outlook nie został zaprojektowany do uruchamiania jako aplikacja usługi systemu Windows, te konwencje nie są stosowane.

    Aby uzyskać więcej informacji, zobacz Wprowadzenie do aplikacji usług systemu Windows.

  • Niektóre akcje, które używają modalnych okien dialogowych, których nie można uniknąć i które wymagają interwencji użytkownika. Spowoduje to pozorne zawieszanie się aplikacji.

Zalecamy używanie w aplikacjach usługi Windows rozszerzonego kodu MAPI zamiast aplikacji usługi Windows. Jeśli kod nie musi współpracować bezpośrednio z programem Outlook i może zamiast tego uruchamiać się względem skrzynki pocztowej w programie Exchange, rozważ użycie interfejsów API programu Exchange, takich jak Graph, Exchange REST i usługi sieci Web programu Exchange (EWS).

Odwołanie

Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące automatyzacji po stronie serwera pakietu Office.