Änderungen beim Herunterfahren für Outlook 2010

**Zusammenfassung:**Zur Verbesserung der Leistung enthalten Microsoft Office Outlook 2007 Service Pack 2 (SP2) und Microsoft Outlook 2010 wichtige Änderungen, durch die sichergestellt werden soll, dass Outlook richtig heruntergefahren wird, wenn der Benutzer die Anwendung schließt. In diesem Artikel werden die Änderungen in Outlook 2010 beschrieben.

Letzte Änderung: Freitag, 4. November 2011

Gilt für: Office 2007 | Office 2010 | Outlook 2007 Service Pack 2 (SP2) | Outlook 2010

Inhalt dieses Artikels
Hintergrund
Änderungen beim Herunterfahren von Add-Ins in Outlook 2010
Bewährte Methoden für Entwickler zum Herunterfahren von Add-Ins
Bewährte Methoden für IT-Administratoren zum Herunterfahren von Add-Ins
Schlussbemerkung
Weitere Ressourcen

Inhalt

  • Hintergrund

  • Änderungen beim Herunterfahren von Add-Ins in Outlook 2010

  • Bewährte Methoden für Entwickler zum Herunterfahren von Add-Ins

  • Bewährte Methoden für IT-Administratoren zum Herunterfahren von Add-Ins

  • Schlussbemerkung

  • Weitere Ressourcen

Hintergrund

Vor Outlook 2007 SP2 dauerte das Herunterfahren von Outlook auf Befehl deutlich länger als erwartet. In Outlook 2010 soll sichergestellt werden, dass die Anwendung schnell und konsistent heruntergefahren wird.

Wenn der Benutzer Outlook 2007 SP2 geschlossen hatte, konnte Outlook nicht von externen COM-Add-Ins weiter ausgeführt werden (weitere Informationen finden Sie unter Änderungen beim Herunterfahren der Anwendung in Outlook 2007 SP2). In Outlook 2007 SP2 wurde außerdem ein neuer Entwurf für MAPI-Anbieter vorgeschrieben, um Datenverluste vor dem Beenden von Outlook zu verhindern. Der Nachteil bestand darin, dass alle MAPI-Anbieter den neuen Entwurf übernehmen und das neue Verhalten unterstützen mussten.

In Outlook 2010 Technical Preview wurde der Entwurf dahingehend geändert, dass MAPI-Anbieter die IMAPIProviderShutdown : IUnknown-Schnittstelle implementieren, um zeitgerechte und notwendige Schritte auszuführen. Durch diese Schritte werden Datenverluste verhindert, die sich ergeben können, wenn die Verbindung mit externen Verweisen vom Client getrennt wird, bevor der Client beendet wird. Der Mechanismus für schnelles Herunterfahren ist jetzt Standard für alle MAPI-Anbieter, mit Ausnahme derer, die den Mechanismus explizit nicht verwenden, indem MAPI_E_NO_SUPPORT an die IMAPIProviderShutdown::QueryFastShutdown-Methode zurückgegeben wird. Selbst wenn ein MAPI-Anbieter die IMAPIProviderShutdown-Schnittstelle nicht implementiert, wird von Outlook 2010 der Mechanismus für schnelles Herunterfahren verwendet. Weitere Informationen zum MAPI-Client und zum Mechanismus für schnelles Herunterfahren finden Sie unter Client Shutdown in MAPI.

Diese Änderungen für externe COM-Add-Ins und MAPI-Anbieter tragen deutlich dazu bei, sicherzustellen, dass Outlook immer heruntergefahren wird und dass dies wie vom Benutzer beabsichtigt schnell geschieht. Von manchen In-Process-Add-Ins für Outlook werden jedoch bei Herunterfahrereignissen prozessorintensive Vorgänge und Netzwerk-E/A-Vorgänge ausgeführt. Aufgrund der Auswirkungen auf die wahrgenommene Leistung von Outlook enthält Outlook 2010 ein Modell für schnelles Herunterfahren für In-Process-Add-Ins, durch das das Verhalten beim Herunterfahren von Outlook weiter verbessert wird.

Änderungen beim Herunterfahren von Add-Ins in Outlook 2010

Ab Outlook 2010 wird Add-Ins nicht mehr von Outlook signalisiert, dass die Anwendung heruntergefahren wird. Das heißt, beim schnellen Herunterfahren werden die Methoden OnBeginShutdown und OnDisconnection der IDTExtensibility2-Schnittstelle nicht mehr aufgerufen. Entsprechend wird von einem Outlook-Add-In, das mit Microsoft Visual Studio-Tools für Office geschrieben wurde, beim Herunterfahren von Outlook nicht mehr die ThisAddin_Shutdown-Methode aufgerufen.

Die Auswirkungen der Änderungen auf ein Add-In hängen davon ab, welche Aktionen vom Add-In bei diesen Ereignissen ausgeführt werden. Von den meisten Add-Ins werden diese Ereignisse verwendet, um Verweise auf Outlook-COM-Objekte freizugeben und den während der Sitzung belegten Speicher zu löschen. In diesen Fällen sind die Auswirkungen auf die Add-Ins minimal; die verbleibenden Verweise auf COM-Objekte werden freigegeben, und Outlook wird heruntergefahren. Beim Beenden des Outlook-Prozesses wird der Speicher wieder von Windows übernommen.

Bei manchen Add-Ins haben die Änderungen größere Auswirkungen. Wenn diese Ereignisse von einem Add-In zum Ausführen eines Commits von Daten verwendet werden (beispielsweise zum Speichern von Benutzereinstellungen oder zum Melden der Verwendung an einen Webserver), finden diese Aktivitäten nicht mehr statt. Je nach Szenario können sich dadurch sichtbare Auswirkungen für Benutzer ergeben. Der Add-In-Entwickler kann Abhilfe schaffen, indem er das Add-In so ändert, dass dieses mit den Änderungen kompatibel ist. Alternativ kann ein IT-Administrator mithilfe von Gruppenrichtlinien das ursprüngliche Verhalten für ein bestimmtes Add-In wiederherstellen.

Wichtig

Die Methoden OnBeginShutdown und OnDisconnection können nach wie vor in anderen Szenarien aufgerufen werden (beispielsweise wenn die Verbindung mit dem Add-In manuell getrennt wird oder wenn langsames Herunterfahren über Gruppenrichtlinien aktiviert ist, um das Verhalten vor Outlook 2007 SP2 wiederherzustellen). Daher ist es wichtig, dass Entwickler diese Methoden weiterhin implementieren.

Warum jetzt die Änderungen?

Die Entwickler von Outlook wissen, dass diese Änderung erhebliche Auswirkungen hat, und die Entscheidung wurde nach sorgfältiger Analyse zahlreicher Leistungsdaten getroffen.

Beispielsweise ging aus Daten von Outlook 2007 SP2 Folgendes hervor: Wenn bei einem Benutzer Add-Ins mit fehlerhaftem Verhalten installiert waren, betrug die Verzögerung beim Herunterfahren im Durchschnitt 13 Sekunden. Aus Daten von Outlook 2010 Technical Preview ging eine durchschnittliche Verzögerung von 15-20 Sekunden hervor.

Aus weiteren Tests, die zeigen sollten, welche Aktionen von Add-Ins bei Herunterfahr- oder Trennereignissen ausgeführt wurden, ging hervor, dass von einer großen Zahl der Add-Ins einfache Aufgaben (beispielsweise Freigeben von Verweisen) ausgeführt wurden, während von einigen Add-Ins bei diesen Ereignissen Webdienstaufrufe oder andere lange ausgeführte Vorgänge synchron ausgeführt wurden.

Der Vorteil der Änderung besteht darin, dass für die Mehrzahl der Add-Ins und Kunden das Herunterfahren von Outlook im Vergleich zur Vergangenheit deutlich verbessert wurde. Durch die Änderung sieht der Benutzer schneller eine Reaktion von Outlook, und die Anwendung wird schnell beendet, sodass der Benutzer zur nächsten Aufgabe übergehen oder den Computer herunterfahren kann.

Bewährte Methoden für Entwickler zum Herunterfahren von Add-Ins

Für Add-In-Entwickler kann das neue Herunterfahren zunächst etwas trickreich scheinen. Es ist wichtig, dass Entwickler die bewährten Methoden zum Herunterfahren von Add-Ins verwenden, um sicherzustellen, dass Endbenutzer weiterhin vom schnellen und gut reagierenden Herunterfahren von Outlook profitieren.

Methode 1: Weiterhin Freigeben von Verweisen in "OnDisconnection"

Sie müssen weiterhin Code schreiben, der OnDisconnection oder ThisAddin_Shutdown enthält, um verbleibende COM-Verweise auf Outlook-Objekte freizugeben. In Outlook 2003 und Outlook 2007 vor SP2 konnte durch diese COM-Verweise das Herunterfahren von Outlook verhindert werden. In Outlook 2010 sollten Sie diese Ereignisse aus folgendem Grund weiter implementieren, um Verweise und belegten Speicher freizugeben: Es gibt Szenarien, in denen Administratoren mithilfe von Gruppenrichtlinien das langsame Herunterfahren wiederherstellen können, oder in denen der Benutzer über das Dialogfeld COM-Add-Ins die Verbindung mit dem Add-In manuell trennen kann.

Methode 2: Erkennen, wenn Outlook heruntergefahren wird

Sie können das Quit-Ereignis des Application-Objekts im Outlook-Objektmodell verwenden, um zu erkennen, dass Outlook heruntergefahren wird und eine Benachrichtigung für das Herunterfahren des Prozesses zu erhalten. Sie müssen schnell auf das Ereignis reagieren und die Steuerung schnellstmöglich an Outlook zurückgeben. Durch die Add-Ins sollte keine für den Benutzer wahrnehmbare Verzögerung beim Herunterfahren von Outlook entstehen. Vergleichen Sie, wie lange es dauert, Outlook herunterzufahren, wenn nur Ihr Add-In ausgeführt wird, und wie lange das Herunterfahren ohne Add-Ins dauert. So können Sie wesentliche Unterschiede identifizieren.

Wenn vom Add-In beim Herunterfahren lange ausgeführte Vorgänge oder Vorgänge mit unbestimmter Dauer ausgeführt werden müssen, stellen Sie sich die folgenden Fragen:

  • Muss jeder einzelne Vorgang beim Herunterfahren von Outlook ausgeführt werden?

  • Was geschieht, wenn Outlook abstürzt und der Code für diese Vorgänge nicht ausgeführt wird?

  • Kann der Vorgang zu einem früheren Zeitpunkt vor dem Herunterfahren ausgeführt werden (beispielsweise durch Ausführen eines Commits für die Änderungen, wenn der Benutzer die Änderung vornimmt und nicht erst später)?

  • Kann der Vorgang anstatt synchron bei einem Beendigungsereignis in einem Hintergrundthread ausgeführt werden?

    Hinweis

    Sie können keine Aufrufe des Outlook-Objektmodells aus einem Hintergrundthread ausführen, aber Sie können MAPI direkt verwenden, wenn Sie MAPI richtig im Add-In initialisieren. Weitere Informationen finden Sie unter Starting a MAPI Session.

Führen Sie während eines Beendigungsereignisses keine Netzwerk-E/A-Vorgänge aus. Dazu gehört das Speichern von Daten in einer Netzwerkfreigabe, Schreiben von Daten in einen Outlook-Onlinemodusspeicher oder Aufrufen von Webdiensten während Application.Quit, OnBeginShutdown oder OnDisconnection.

Wenn Sie das Application.Quit-Ereignis verwenden, führen Sie keine Freigabe von Outlook-COM-Objekten oder zugewiesenem Speicher im Outlook-Prozessbereich aus. Diese Aufgaben werden beim Beenden des Prozesses von Outlook und Windows ausgeführt.

Tipp

Beim Testen der Add-In-Kompatibilität wurden während der Herunterfahrereignisse von einem Beispiel für ein internes Outlook-Add-In Verwendungsinformation an einen Webdienst gemeldet. Anstatt die Daten direkt beim Herunterfahren an den Webdienst zu melden, änderte der Entwickler das Add-In so, dass die Verwendungsinformationen der vorherigen Sitzung in einem Hintergrundthread gespeichert und beim nächsten Starten von Outlook gemeldet werden. Auf diese Weise werden die Daten hochgeladen, und Outlook wird durch den Vorgang zu keinem Zeitpunkt blockiert – eine sehr hilfreiche Methode.

Wenn Ihre Lösungen eine andere ausführbare Datei enthalten, ziehen Sie das Verschieben bestimmter Vorgänge aus dem Add-In in die ausführbare Datei in Betracht. Auf diese Weise werden die Vorgänge unabhängig von der Ausführung von Outlook ausgeführt, und Outlook kann schnell gestartet oder heruntergefahren werden.

Methode 3: Testen des Herunterfahrens mithilfe der schnellen und der langsamen Methode

Als Entwickler sollten Sie sicherstellen, dass das Add-In die Leistung für Outlook-Benutzer nur minimal beeinträchtigt. Testen Sie mindestens die Auswirkungen des Add-Ins auf den Zeitbedarf zum Starten von Outlook, in gängigen Szenarien (beispielsweise Verfassen einer neuen Nachricht, Antworten auf eine Nachricht, Wechseln von Ordnern und Senden von E-Mail) und beim Herunterfahren von Outlook. Testen Sie insbesondere den Zeitbedarf zum Herunterfahren von Outlook mit verschiedenen Windows-Registrierungseinstellungen für das Add-In, die das Herunterfahren von Outlook steuern.

Bewährte Methoden für IT-Administratoren zum Herunterfahren von Add-Ins

Wenn Sie als IT-Administrator interne Add-Ins oder Lösungen verwenden, die nicht für die Unterstützung des neuen Entwurfs aktualisiert werden können, haben Sie zwei Möglichkeiten, Benachrichtigungen für das Herunterfahren an Outlook-Add-Ins in Outlook 2010 zu aktivieren und das vorherige Verhalten beim Herunterfahren wiederherzustellen:

  • Selektiv für einzelne Add-Ins (bevorzugte Methode)

    IT-Administratoren können Benachrichtigungen für das Herunterfahren für einzelne Outlook-Add-Ins im Rahmen der Add-In-Bereitstellung aktivieren. Obwohl Sie hierfür nicht Gruppenrichtlinien verwenden können, ist es hilfreich, Anforderungen für die Abwärtskompatibilität bestimmter Add-Ins festzulegen.

  • Global für alle Add-Ins

    IT-Administratoren können Benachrichtigungen für das Herunterfahren über Gruppenrichtlinien global für alle Add-Ins aktivieren. Dies wird empfohlen für Organisationen mit zahlreichen internen Lösungen oder Desktops, in denen diese Einstellung bereitgestellt werden soll, um die Kompatibilität bei der Einführung von Outlook 2010 sicherzustellen.

Einzelne Add-In-Einstellung

Mit dieser Einstellung werden von Outlook selektiv Benachrichtigungen für das Herunterfahren an das angegebene Add-In gesendet, ohne dass alle Add-Ins benachrichtigt werden. Konfigurieren Sie diese Einstellung für jedes Add-In über die Add-In-Registrierung in der Registrierungsstruktur HKCU oder HKLM, indem Sie der Add-In-Registrierung einen zusätzlichen Wert hinzufügen. Geben Sie den folgenden Text als einzelne Zeile ein.

HKCU\Software\Microsoft\Office\Outlook\Add-ins\<ProgID>[RequireShutdownNotification]=dword:0x1

Wenn Sie diesen Wert auf 0x1 festlegen, empfängt das Add-In beim Herunterfahren von Outlook blockierte Rückrufe. Dies hat Auswirkungen auf die Leistung beim Herunterfahren von Outlook und sollte im Rahmen der Bereitstellung bewertet werden. Diese Einstellung sollte nur verwendet werden, wenn bei einem Add-In erhebliche Kompatibilitätsprobleme mit dem neuen Mechanismus für das Herunterfahren bestehen. Wenn Sie den Wert auf 0x0 festlegen, wird das Standardverhalten von Outlook 2010 verwendet.

Globale Einstellung

Verwenden Sie diese Einstellung, um den neuen Mechanismus für das Herunterfahren so zu ändern, dass dieser dem von Outlook 2007 verwendeten entspricht. Sie können die Einstellung über Gruppenrichtlinien pro Benutzer oder pro Computer bereitstellen. Geben Sie den folgenden Text als einzelne Zeile ein.

HKCU\Policies\Microsoft\Office\Outlook\14.0\Options\Shutdown[AddinFastShutdownBehavior]=dword:0x1

Wenn Sie AddinFastShutdownBehavior auf 0x1 festlegen, werden für alle Add-Ins Benachrichtigungen für das Herunterfahren aktiviert. Wenn Sie den Wert auf 0x0 festlegen, wird das Standardverhalten von Outlook 2010 verwendet.

Mit diesen beiden Einstellungen erhalten Administratoren vollständige Kontrolle über die Auswirkungen des neuen Verhaltens auf benutzerdefinierte Lösungen und Add-Ins, die im Unternehmen verwendet werden. Es ist wichtig, benutzerdefinierte Lösungen, bei denen Outlook-Add-Ins verwendet werden, zu testen, um die Kompatibilität mit dieser Änderung sicherzustellen.

Schlussbemerkung

In Outlook 2010 wird ein neuer Mechanismus für das Herunterfahren von In-Process-Add-Ins für Outlook bereitgestellt, der keine Auswirkungen auf das allgemein wahrgenommene Herunterfahrverhalten von Outlook hat. Obwohl von Outlook die Methoden OnBeginShutdown und OnDisconnection der IDTExtensibility2-Schnittstelle nicht mehr aufgerufen werden, sollten diese Methoden oder ThisAddin_Shutdown von Add-Ins weiterhin implementiert werden, um Verweise und belegten Speicher freizugeben. Der Grund ist, dass Administratoren in manchen Szenarien möglicherweise über Gruppenrichtlinien das langsame Herunterfahren wiederherstellen möchten oder der Benutzer über das Dialogfeld COM-Add-Ins die Verbindung mit dem Add-In manuell trennt. Add-In-Entwickler sollten ihre Add-Ins proaktiv so ändern, dass diese mit Outlook 2010 verwendet werden können und beim Herunterfahren nur die zu diesem Zeitpunkt absolut notwendigen Aufgaben ausgeführt werden. Außerdem sollten sie die Leistung der Add-Ins in verschiedenen Szenarien und mit verschiedenen Windows-Registrierungseinstellungen zum Steuern des Herunterfahrens von Outlook bewerten. In Fällen, in denen Add-Ins bereits in einem Unternehmen bereitgestellt sind und nicht von IT-Administratoren aktualisiert werden können, damit die Add-Ins mit dem neuen Mechanismus für das Herunterfahren kompatibel sind, können IT-Administratoren auf zwei neue Windows-Registrierungseinstellungen zurückgreifen, um das langsame Herunterfahrverhalten wiederherzustellen.

Weitere Ressourcen

Weitere Informationen finden Sie in den folgenden Ressourcen:

-
Änderungen beim Herunterfahren der Anwendung in Outlook 2007 SP2

-
Client Shutdown in MAPI