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

Oryginalny numer KB: 237913

Podsumowanie

Model obiektów programu Outlook (OOM) nie nadaje się do użycia z aplikacji, która jest przeznaczona do uruchamiania jako lub zduplikowana przez aplikację usługi systemu Windows. Obejmuje to aplikacje strony active server (ASP) działające w ramach usługi Internet Information Service (IIS) oraz aplikacje uruchamiane razem z usługami harmonogramu at lub harmonogramu zadań.

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

Jest to ograniczenie projektu programu Outlook.

Więcej informacji

OOM ma cztery główne ograniczenia, które sprawiają, że nie nadaje się do użycia w aplikacji usługi systemu Windows, w następujący sposób:

  • Interfejs MAPI przechowuje profile dla każdego użytkownika w HKEY_CURRENT_USER gałęzi rejestru. Ten gałąź rejestru nie jest ładowana po uruchomieniu aplikacji usługi systemu Windows. Ten konkretny problem może być zwodniczy, ponieważ podczas cyklu programowania deweloper jest zalogowany do systemu interaktywnie. Powoduje to załadowanie HKEY_CURRENT_USER gałęzi tak, aby wszystko działało zgodnie z oczekiwaniami. Po przetestowaniu usługi bez właściciela profilu zalogowanego interaktywnie usługa nie może zlokalizować profilu.

  • Tylko jedno wystąpienie programu Outlook (aplikacja, która eksportuje model obiektów programu Outlook) może działać jednocześnie w jednym kontekście użytkownika przy użyciu jednego profilu. 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 OOM) z innego kontekstu użytkownika, 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ć systemowi.

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

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

  • Niektóre akcje korzystające z pakietu OOM podnoszą modalne okna dialogowe, których nie można zapobiec i które wymagają interwencji użytkownika. Spowoduje to, że aplikacja wydaje się zawieszać.

Zalecamy użycie rozszerzonego kodu MAPI zamiast OOM w aplikacjach usługi systemu Windows. Jeśli kod nie musi działać bezpośrednio z programem Outlook i może zamiast tego uruchamiać się w skrzynce pocztowej w programie Exchange, należy rozważyć użycie interfejsów API programu Exchange, takich jak Graph, Exchange REST i Exchange Web Services (EWS).

Odwołanie

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