Neuigkeiten in Outlook für Entwickler

Dieses Dokument bietet einen allgemeinen Überblick über die Erweiterungen und Verbesserungen für Entwickler in Microsoft Outlook 2013, z. B. Mail-Apps, Wetterdatendienste von Drittanbietern für die Wetterleiste und Inlineantwort. Das Dokument beschreibt auch Änderungen am Outlook Connector für soziale Netzwerke, Office Mobile Service, Unterstützung für Outlook 2013-Koexistenz mit einer früheren Version von Outlook und neue Leistungskriterien für Add-Ins. Entwickler, die bereit sind, einen Schnellstart auf der Outlook-Plattform zu wagen, finden in diesem Dokument genügend Informationen, um mit dem Programmieren für Outlook 2013 zu beginnen.

Einführung

Outlook 2013 bietet programmtechnische Unterstützung für zahlreiche neue Features. Office-Add-Ins ist eine neue Plattform, auf der Entwickler mit webbasierten Tools wie HTML und JavaScript Apps erstellen können, die im Outlook-Lesebereich oder -Inspektorfenster angezeigt werden. Im Gegensatz zu herkömmlichen COM-Add-Ins müssen Sie für Apps keine DLLs auf dem Computer des Benutzers installieren oder aktualisieren. Wenn eine Mail-App vom Benutzer initialisiert wird, verwendet die Mail-App das JavaScript-Objektmodell von Office-Add-Ins, um Kontextinformationen über die ausgewählte Nachricht im Outlook-Rich-Client und Outlook Web App bereitzustellen. Ihre App wird auf Ihrem Server ausgeführt, und in Ihren Webinhalten vorgenommene Änderungen werden sofort in Ihre auf einem Outlook-Client ausgeführte App übernommen.

Zusätzlich zu Apps gibt es Erweiterungsunterstützung für die neue Wetterleiste und Änderungen darin, wie Outlook 2013 die Anbietererweiterung für den Outlook Connector für soziale Netzwerke und Office Mobile Services unterstützt. Andere Features wie die Outlook-Koexistenz und Add-In-Leistungsüberwachung sind nicht direkt mit einem Objektmodell verbunden, beeinflussen aber die Architektur und Erstellung Ihrer Lösung.

Im Folgenden sind die wichtigsten Änderungen für Entwickler in Outlook 2013 aufgeführt:

  • Mail-Apps

  • Benutzerdefinierter Wetterdienst für die Wetterleiste

  • Inlineantwort und andere Verbesserungen des Outlook-Objektmodells

  • Verbesserungen am Outlook Connector für soziale Netzwerke

  • Einstellung der Unterstützung für Office Mobile Service

  • Koexistenz mit früheren Versionen von Outlook

  • Leistungskriterien für die Aktivierung von Add-Ins

Hinweis

Die Objekte, Eigenschaften, Methoden und Ereignisse in diesem Artikel können sich möglicherweise in der RTM-Version von Outlook 2013 noch ändern. Möglicherweise werden vor der RTM-Freigabe von Outlook 2013 auch noch zusätzliche Objektmodellfeatures eingeführt. Testen Sie Ihre Codeänderungen unbedingt mit der RTM-Version von Outlook 2013, bevor Sie Ihre Lösung freigeben.

Mail-Apps

Office-Add-Ins sind ein neues Feature, mit dem Sie Webdienste direkt, ohne Schreiben und Bereitstellen eines herkömmlichen Outlook-Add-Ins, in Outlook integrieren können. In Outlook 2013 bieten Mail-Apps umfassende und ansprechende Benutzeroberflächen für Benutzer in Outlook oder Outlook Web App mit einer einzigen Codebasis. Eine Mail-App zeigt neben dem Outlook-Lesebereich oder einem Inspektorfenster einen App-Bereich an, in dem geeignete Webinhalte für die angezeigte Nachricht oder den Termin bereitgestellt werden. Apps werden mit gängigen Webtechnologien wie HTML und JavaScript erstellt. Mail-Apps erfordern Exchange 2013 und sind nicht verfügbar für Benutzer mit Konten in Exchange-Versionen vor Exchange 2013 oder mit POP3- oder IMAP-Konten.

In den folgenden Abschnitten werden die Mail-Apps-Architektur, Aktivierungsregeln und das Sicherheitsmodell kurz beschrieben. Diese Abschnitte sind nicht als umfassende technische Referenz gedacht. Details zum Manifestschema, zu Regelbedingungen, integrierten Entitäten und benutzerdefinierten regulären Ausdrücken, dem JavaScript-Objektmodell und zum Senden einer Mail-App an den Office Store finden Sie unter Office-Add-Ins.

Architektur

Die Architektur der Mail-Apps-Plattform ist bestechend einfach. Ein Exchange-Client wie der Outlook-Rich-Client oder Outlook Web App lädt Mail-App-Manifeste vom Exchange-Server herunter. Das XML-Manifest gibt eine Reihe von Regeln an, die auf dem Client ausgeführt werden und bestimmen, ob die App aktiviert wird, wenn ein Benutzer eine E-Mail oder einen Termin auswählt. Sind die Aktivierungsregeln erfüllt, wird die App-Schaltfläche auf der App-Leiste angezeigt. Zum Beispiel sehen Sie in Abbildung 1, dass die Mail-Apps Bing Maps und Aktionselement basierend auf dem Inhalt der ausgewählten E-Mail aktiviert und auf der App-Leiste angezeigt werden.

Abbildung 1: Mail-App mit kontextabhängiger Bing Map in Outlook

Bing Map-Mail-App in Outlook

Eine Mail-App gilt als aktiviert, wenn die App-Schaltfläche auf der App-Leiste angezeigt wird. Wenn der Benutzer die App-Schaltfläche auswählt, wird der App-Bereich angezeigt und führt einen Initialize-Ereignishandler im JavaScript-Code Ihrer Webseite auf Ihrem Webserver aus. Abbildung 2 beschreibt den Prozess, der stattfindet, wenn ein Outlook-Client gestartet wird und der Benutzer ein Element in Outlook auswählt.

Abbildung 2: Architektur und Startprozess der Mail-App

Ereignisablauf beim Starten einer Outlook-Mail-App

Der JavaScript-Code einer Mail-App kann auf Eigenschaften der ausgewählten Nachricht oder des Termins zugreifen. Entsprechend den Berechtigungen, die von der App angefordert werden, kann die App auch auf benutzerdefinierte Eigenschaften zugreifen, Entitäten (z. B. Adressen oder Besprechungsvorschläge) oder Übereinstimmungen mit regulären Ausdrücken auflisten und den Exchange-Webdienst (EWS) aufrufen.

Aktivierungsregeln

Aktivierungsregeln steuern, wann eine Mail-App auf der Benutzeroberfläche eines Outlook-Clients aktiviert wird. Regeln werden im XML-Manifest definiert und durch das Regelauswertungsmodul auf das ausgewählte Element im Lesebereich oder in einem Inspektorfenster angewendet. Wenn die Regelauswertung "true" ergibt, wird die App-Schaltfläche auf der App-Leiste angezeigt. Beachten Sie die folgenden Informationen zu Regeln:

  • Für komplexe Aktivierungsanforderungen können mehrere Regeln kombiniert werden.

    Wenden Sie logische And oder Or-Operatoren an.

    Regeln können mithilfe von regulären Ausdrücken definiert werden.

    Regeln können auf bekannte Entitäten wie Anschriften, Telefonnummern und URLs zugreifen.

Die Regeltypen lauten wie folgt:

Regeltyp

Beschreibung

ItemIs

Eine Regel zur Überprüfung, ob das Element einem bestimmten Typ angehört (Termin, Nachricht oder benutzerdefinierte Nachrichtenklasse). Beispiel:

<Rule xsi:type=“ItemIs” ItemType=“Message” />

ItemHasKnownEntity

Eine Regel zur Überprüfung, ob das Element eine bestimmte Entität besitzt. Beispiel:

<Rule xsi:type=“ItemHasKnownEntity” EntityType=“Address” />

ItemHasRegularExpressionMatch

Eine Regel zur Überprüfung, ob es Übereinstimmungen mit dem angegebenen regulären Ausdruck gibt.

RuleCollection

Definiert eine aus mehreren Regeln zusammengesetzte Regel (kombiniert mit And oder Or).

Beachten Sie, dass Regeln bekannte Entitäten oder benutzerdefinierte reguläre Ausdrücke, die Sie im App-Manifest definieren, erkennen können.

Was sind bekannte Entitäten? Bekannte Entitäten werden vom Exchange-Server beim Nachrichtentransport analysiert und in der Nachricht zur Verwendung durch das Regelauswertungsmodul gestempelt. Die folgende Tabelle enthält einige bekannte Entitäten, die Sie zum Erstellen von Aktivierungsregeln verwenden können.

Typ der bekannten Entität

Aktivierungsbedingung

Address

Adressen in den USA. Beispiel:

1 Microsoft Way, Redmond, WA 07722

Contact

Ein mit anderen Entitäten verbundener Name. Beispiel:

Steve Ballmer, Microsoft, 1 Microsoft Way, Redmond, WA 98052

EmailAddress

Eine SMTP-E-Mail-Adresse. Beispiel:

jemand@contoso.com

MeetingSuggestion

Ein Verweis auf ein Ereignis oder eine Besprechung. Beispiel:

Treffen wir uns nächsten Dienstag zum Mittagessen.

PhoneNumber

Telefonnummern in den USA. Beispiel:

(425) 555-1212

TaskSuggestion

Sätze in einer E-Mail, die zu Aktionen auffordern. Beispiel:

Bitte installieren Sie Office 2013 auf meinem Computer.

Url

Ein Dateiname oder eine Webadresse. Beispiel:

https://microsoft.com

Sicherheitsmodell

Ihr Postfach enthält Ihre privaten Informationen. In einer Unternehmensumgebung enthält Ihr Postfach vertrauliche Kommunikation mit Ihren Kunden, Lieferanten und Kollegen. Outlook schützt diese Informationen und stellt sicher, dass die Mail-Apps ebenfalls den Datenschutz beachten. Wenn ein Benutzer eine Mail-App bezieht, muss er die Berechtigungsstufe erteilen, die von der App in der Manifestdatei angefordert wird. Wenn der Benutzer die Berechtigung nicht erteilt, wird die App nicht im Exchange-Postfach des Benutzers installiert. Mail-Apps verwenden ein dreistufiges Sicherheitsmodell. Die Funktionen der App hängen von den Sicherheitseinstellungen ab, die der Endbenutzer oder Administrator basierend auf der im App-Manifest angeforderten Berechtigung erteilt. Beachten Sie, dass Apps, die die Berechtigung Postfach lesen/schreiben anfordern, nicht von einem Endbenutzer installiert werden können. Apps, die die Berechtigung Postfach lesen/schreiben anfordern, müssen von einem Systemadministrator installiert werden.

Abbildung 3: Dreistufiges Sicherheitsmodell für Mail-Apps

Drei-Stufen-Berechtigungsmodell für Benutzer, Entwickler und Administrator

Abbildung 3 und die folgende Tabelle beschreiben die drei Berechtigungsstufen. Beachten Sie, dass die Standardberechtigung Eingeschränkt eine App am Zugriff auf personenbezogene Informationen (PII) aus der aktuell ausgewählten Nachricht hindert. Wenn der Benutzer eine erhöhte Berechtigungsstufe, z. B. Element lesen erteilt, kann die App Informationen wie z. B. den Absender oder Empfänger der Nachricht abrufen. Die Berechtigung Postfach lesen/schreiben ermöglicht es der App, eine Teilmenge von leistungsstarken EWS-Funktionen aufzurufen, einschließlich der Möglichkeit zum Erstellen oder Ändern von Elementen im Postfach eines Benutzers.

Akteur

Berechtigung im Manifest

Zugriff

Endbenutzer installieren Mail-Apps mit niedriger Vertrauensebene

Restricted

Teilmenge bekannter Entitäten aus der Nachricht: Address, PhoneNumber, Url

Endbenutzer installieren Mail-Apps mit niedriger Vertrauensebene

ReadItem

Alle bekannten Entitäten aus der Nachricht: Address, Contact, EmailAddress, MeetingSuggestion, PhoneNumber, TaskSuggestion, Url

Übereinstimmungen mit benutzerdefinierten regulären Ausdruck aus dem Nachrichtentext.

JSOM:

Exchange-Administratoren installieren Mail-Apps mit hoher Vertrauensebene

ReadWriteMailbox

ReadItem-Zugriff und Folgendes:

EWS: Teilmenge der EWS-APIs

Benutzerdefinierter Wetterdatendienst für die Wetterleiste

Die neue Wetterleiste in Outlook 2013 verwendet MSN-Wetterdaten, um Wettervorhersagen für vom Benutzer ausgewählte Orte liefern zu können. Wetterdatendienste von Drittanbietern können in Outlook integriert werden, um ähnliche Wettervorhersagen bereitzustellen. Abbildung 4 zeigt die Wetterleiste mit einer Wettervorhersage für New York.

Abbildung 4: Die Wetterleiste mit einer Wettervorhersage für New York

Wetterleiste mit Vorhersage für New York.

Um als Plug-In für die Outlook-Wetterleiste dienen zu können, kann ein Wetterdatendienst einen Webdienst implementieren, der ein einfaches 2-teiliges Protokoll unterstützt:

  1. Der Wetterdatendienst unterstützt eine Basis-URL für einen Webdienst, beispielsweise http://service.contoso.com/data.aspx.

  2. Teil 1: Der Webdienst ermöglicht Outlook, die folgenden Parameter an die Basis-URL anzufügen, um einen Ortscode anzufordern, der dem vom Benutzer ausgewählten Ort entspricht:

    • outputview=search. Dies gibt an, dass die Anforderung eine Ortssuche ist.

    • weasearchstr=Stadt. Dabei ist Stadt der vom Benutzer ausgewählte Ort für Wetterinformationen.

    • culture=LCID. Dabei ist LCID die Kultur der Version von Office, die für den Benutzer installiert wurde. Der Wert ist in [RFC4646] Tags zur Identifikation von Sprachen definiert.

    • src=outlook. Dies gibt an, dass Outlook die Clientanwendung ist, die den Dienst anfordert.

    Die Webdienstantwort muss dem Outlook Weather Location XML Schema entsprechen.

    In Abbildung 5 ist Teil 1 des Protokolls zum Anfordern eines Ortscodes für den vom Benutzer ausgewählten Ort und zum entsprechenden Antworten zusammengefasst.

    Abbildung 5: Webdienstanforderung eines Ortscodes und entsprechende Antwort

    Anforderung und Antwort zum Wetterstandort

  3. Teil 2: Der Webdienst ermöglicht es außerdem Outlook, die folgenden Parameter anzufügen, um für den in Teil 1 abgerufenen Ortscode Vorhersageinformationen anzufordern:

    • wealocations=Code. Dabei ist Code der in Teil 1 abgerufene Ort.

    • weadegreetype=Gradangabe. Dabei kann Gradangabec für metrische Temperatureinheiten oder f für Einheiten des britischen Systems sein.

    • culture=LCID. Dabei ist LCID die Kultur der Version von Office, ähnlich wie in Teil 1.

    • src=outlook. Dies gibt an, dass Outlook die Clientanwendung ist, die den Dienst anfordert, ähnlich wie in Teil 1.

    Die Webdienstantwort muss dem Outlook Weather Information XML Schema entsprechen.

    In Abbildung 6 ist Teil 2 des Protokolls zum Anfordern von Wetterdaten für den vom Benutzer ausgewählten Ort und zum entsprechenden Antworten zusammengefasst..

    Abbildung 6: Webdienstanforderung für Wetterinformationen und Antwort

    Anforderung von Wetterinformationen und entsprechende Antwort

Weitere Informationen finden Sie unter Erweitern der Wetterleiste in Outlook.

Änderungen am Outlook-Objektmodell

Dem Outlook-Objektmodell wurden neue Objekte, Eigenschaften, Methoden, Ereignisse und Enumerationswerte hinzugefügt, um Programmierunterstützung für neue Outlook 2013-Features zu bieten. Darüber hinaus wurden Verbesserungen am Objektmodell vorgenommen, um häufig von Entwicklern gewünschte Änderungen an der Outlook-Plattform zu unterstützen.

Verbesserungen an vorhandenen Outlook-Objekten

Die folgende Tabelle enthält Verbesserungen an Objekten, Auflistungen und Enumerationen, die in früheren Versionen von Outlook verfügbar waren. Nur neue Methoden, Eigenschaften, Ereignisse und Enumerationswerte sind in der Spalte Neue Member aufgeführt.

Tabelle 1. Verbesserungen des Outlook-Objektmodells

Objekt oder Enumeration

Neue Member

AppointmentItem

ReadComplete-Ereignis

ContactItem

ShowCheckAddressDialog-Methode

ShowCheckFullNameDialog-Methode

ReadComplete-Ereignis

DistListItem

ReadComplete-Ereignis

DocumentItem

ReadComplete-Ereignis

Explorer

ActiveInlineResponse-Eigenschaft

ActiveInlineResponseWordEditor-Eigenschaft

InlineResponse-Ereignis

InlineResponseClose-Ereignis

JournalItem

ReadComplete-Ereignis

MailItem

ReadComplete-Ereignis

MeetingItem

ReadComplete-Ereignis

OlAccountType

olEas-Enumerationswert

OlBusyStatus

olWorkingElsewhere-Enumerationswert

OlObjectClass

olClassPeopleView-Enumerationswert

OlSearchScope

olSearchScopeCurrentStore-Enumerationswert

OlViewType

olPeopleView-Enumerationswert

PostItem

ReadComplete-Ereignis

RemoteItem

ReadComplete-Ereignis

ReportItem

ReadComplete-Ereignis

SharingItem

ReadComplete-Ereignis

TaskItem

ReadComplete-Ereignis

TaskRequestAcceptItem

ReadComplete-Ereignis

TaskRequestDeclineItem

ReadComplete-Ereignis

TaskRequestItem

ReadComplete-Ereignis

TaskRequestUpdateItem

ReadComplete-Ereignis

Neue Objekte

Die folgende Tabelle enthält die neuen Objekte in Outlook 2013. Alle Objektmember werden in den Spalten Eigenschaften und Methoden aufgeführt.

Tabelle 2. Hinzufügungen zum Outlook-Objektmodell

Objekt

Eigenschaften

Methoden

PeopleView

Application

Apply

Class

Copy

Filter

Delete

Language

GoToDate

LockUserChanges

Reset

Name

Save

Parent

SaveOption

Session

SortFields

Standard

ViewType

XML

Veraltete Objekte und Member

Im Folgenden sind die wichtigsten im Outlook-Objektmodell dieser Version veralteten Features aufgeführt:

  • Unterstützung für die Aufgabenleiste

    Da die Aufgabenleiste auf der Benutzeroberfläche von Outlook 2013 nicht mehr unterstützt wird, führt der Versuch, die Aufgabenleiste mit Explorer.ShowPane(olToDoBar) anzuzeigen oder auszublenden, zu einem Fehler. Sie sollten allen bestehenden Code ändern, um den Fehler zu behandeln oder den Aufruf von ShowPane mit der Konstante olToDoBar für in Outlook 2013 ausgeführten Code zu vermeiden.

  • Unterstützung für die Verknüpfung von Kontakten

    Das Kontaktverknüpfungsfeature und dessen Unterstützung im Objektmodell (über die Objekte Link und Links) ist veraltet. Die Links-Eigenschaft gibt nun für jedes Elementobjekt Null (Nothing in Visual Basic) zurück. Sie sollten vorhandenen Code ändern, um dieses Verhalten zu behandeln.

  • Das MobileItem-Objekt. Weitere Informationen finden Sie unter Einstellung der Unterstützung für Office Mobile Service.

Die folgende Tabelle enthält die in Outlook 2013 veralteten Objekte, Member und Enumerationswerte. Nur veraltete Objektmember und Enumerationswerte sind in der Spalte Veraltete Member aufgeführt. Beachten Sie, dass während veraltete Member im Visual Basic-Objektbrowser ausgeblendet sind, veraltete Enumerationen oder Enumerationswerte nicht ausgeblendet werden, aber dennoch nicht mehr in Ihrem Code verwendet werden sollten.

Objekt, Auflistung oder Enumeration

Veralteter Member oder Enumerationswert

AppointmentItem

Links-Eigenschaft

CalendarView

DayWeekFont-Eigenschaft

DayWeekTimeFont-Eigenschaft

MonthFont-Eigenschaft

ContactItem

Links-Eigenschaft

DistListItem

Links-Eigenschaft

DocumentItem

Links-Eigenschaft

Exception

ItemProperties-Eigenschaft

JournalItem

Links-Eigenschaft

Link

ApplicationClass-Eigenschaft

Item-Eigenschaft

Name-Eigenschaft

Parent-Eigenschaft

Session-Eigenschaft

Type-Eigenschaft

Links

ApplicationClass-Eigenschaft

Count-Eigenschaft

Parent-Eigenschaft

Session-Eigenschaft

AddItem-Methode

Remove-Methode

MailItem

Links-Eigenschaft

MeetingItem

Links-Eigenschaft

MobileItem

Eigenschaften

Actions-Eigenschaft

Application-Eigenschaft

Attachments-Eigenschaft

BillingInformation-Eigenschaft

Body-Eigenschaft

Categories-Eigenschaft

Class-Eigenschaft

Companies-Eigenschaft

ConversationIndex-Eigenschaft

ConversationTopic-Eigenschaft

CreationTime-Eigenschaft

Count-Eigenschaft

EntryID-Eigenschaft

FormDescription-Eigenschaft

GetInspector-Eigenschaft

HTMLBody-Eigenschaft

Importance-Eigenschaft

ItemProperties-Eigenschaft

LastModificationTime-Eigenschaft

MessageClass-Eigenschaft

Mileage-Eigenschaft

MobileFormat-Eigenschaft

NoAging-Eigenschaft

OutlookInternalVersion-Eigenschaft

OutlookVersion-Eigenschaft

Parent-Eigenschaft

PropertyAccessor-Eigenschaft

ReceivedByEntryID-Eigenschaft

ReceivedByName-Eigenschaft

ReceivedTime-Eigenschaft

Recipients-Eigenschaft

ReplyRecipientNames-Eigenschaft

ReplyRecipients-Eigenschaft

Saved-Eigenschaft

SenderEmailAddress-Eigenschaft

SenderEmailType-Eigenschaft

SenderName-Eigenschaft

SendUsingAccount-Eigenschaft

Sensitivity-Eigenschaft

Sent-Eigenschaft

SentOn-Eigenschaft

Session-Eigenschaft

Size-Eigenschaft

SMILBody-Eigenschaft

Subject-Eigenschaft

Submitted-Eigenschaft

To-Eigenschaft

UnRead-Eigenschaft

UserProperties-Eigenschaft

Methoden

Close-Methode

Copy-Methode

Delete-Methode

Display-Methode

Forward-Methode

Move-Methode

Reply-Methode

ReplyAll-Methode

Save-Methode

SaveAs-Methode

Send-Methode

Ereignisse

AttachmentAdd-Ereignis

AttachmentReadAttachmentRemove-Ereignis

BeforeAttachmentAdd-Ereignis

BeforeAttachmentPreview-Ereignis

BeforeAttachmentRead-Ereignis

BeforeAttachmentSave-Ereignis

BeforeAttachmentWriteToTempFile-Ereignis

BeforeAutoSave-Ereignis

BeforeCheckNames-Ereignis

BeforeDelete-Ereignis

Close-Ereignis

CustomAction-Ereignis

CustomPropertyChange-Ereignis

Forward-Ereignis

Open-Ereignis

PropertyChange-Ereignis

Read-Ereignis

ReadComplete-Ereignis

Reply-Ereignis

ReplyAll-Ereignis

Send-Ereignis

UnloadWrite-Ereignis

NoteItem

Links-Eigenschaft

OlObjectClass

olLink-Enumerationswert

olLinks-Enumerationswert

olMobile-Enumerationswert

OlPane

olToDoBar-Enumerationswert

PostItem

Links-Eigenschaft

RemoteItem

Links-Eigenschaft

ReportItem

Links-Eigenschaft

TaskItem

Links-Eigenschaft

TaskRequestAcceptItem

Links-Eigenschaft

TaskRequestDeclineItem

Links-Eigenschaft

TaskRequestItem

Links-Eigenschaft

TaskRequestUpdateItem

Links-Eigenschaft

Arbeiten mit Inlineantwort

In Outlook 2013 wird das Inlineantwort-Feature eingeführt, mit dem der Benutzer eine Antwort im Lesebereich verfassen kann, statt ein neues Inspektorfenster zu öffnen. Wenn für Ihre Lösung benutzerdefinierte Steuerelemente der Office Fluent-Benutzeroberfläche zum Notizverfassungs-Menüband hinzugefügt werden müssen oder Sie vor dem Senden einer Antwort Geschäftslogik oder benutzerdefinierte Funktionen auf die Antwortnachricht anwenden müssen, ändern Sie Ihre Lösung so, dass das neue InlineResponse-Ereignis für das Explorer-Objekt verwendet wird.

Hinweis

Sie können die Inlineantwort nur verwenden, wenn Sie im Menü Ansicht ausgewählt haben, dass der Lesebereich im Explorer angezeigt wird.

Das InlineResponse-Ereignis ist das Inlineäquivalent zum NewInspector-Ereignis für das Inspectors-Auflistungsobjekt. Das NewInspector-Ereignis wird ausgelöst, wenn ein neues Inspektorfenster geöffnet wird. Das InlineResponse-Ereignis wird ausgelöst, wenn der Benutzer eine Aktion ausführt, durch die eine Inlineantwort im Lesebereich angezeigt wird, wie in Abbildung 7 unten dargestellt.

Abbildung 7. Eine Inlineantwort wird erstellt, wenn der Benutzer eine Antwortaktion auswählt.

Eine Inlineantwort wird erstellt

Unterstützung des Objektmodells für Inlineantwort

Die folgenden Member wurden zum Explorer-Objekt hinzugefügt, um die Programmierung für das Inlineantwort-Feature zu unterstützen:

Member

Beschreibung

ActiveInlineResponse-Eigenschaft

Gibt ein Elementobjekt zurück, das das aktive Inlineantwortelement im Lesebereich darstellt. Schreibgeschützt.

ActiveInlineResponseWordEditor-Eigenschaft

Gibt das Word-Document-Objekt der aktiven Inlineantwort zurück, das im Lesebereich angezeigt wird. Schreibgeschützt.

InlineResponse-Ereignis

Tritt auf, wenn der Benutzer eine Aktion ausführt, die eine Inlineantwort im Lesebereich anzeigt.

Verwenden des InlineResponse-Ereignisses

Betrachten wir ein Szenario, in dem Ihr Code in jede verfasste Nachricht, einschließlich Antworten, Antworten an alle und weitergeleiteten Nachrichten, eine Verzichtserklärung einfügen muss. Da die Inlineantwort der Standardmodus für die Antwort in Outlook 2013 ist, muss Ihr Code einen Ereignishandler für das InlineResponse-Ereignis im Explorer-Objekt einbinden. Der folgende C#-Code bindet einen Ereignishandler für das InlineResponse-Ereignis in die OutlookExplorer-Klasse ein. In diesem Codebeispiel ist OutlookExplorer eine Wrapperklasse für eine Auflistung von Explorer-Objekten.

public OutlookExplorer(Outlook.Explorer explorer)
{
    m_Window = explorer;

    // Hook up InlineResponse event
    m_Window.InlineResponse += 
        new Outlook.ExplorerEvents_10_InlineResponseEventHandler
        (m_Window_InlineResponse);

    // Hook up other events if applicable.
}

Wenn das InlineResponse-Ereignis ausgelöst wird, erstellt der Beispielcode eine MailItem-Instanz von m_Mail und lauscht auf das PropertyChange-Ereignis für dieses MailItem-Objekt. m_Mail ist eine ereignisfähige Instanzvariable, mit der Sie beliebige Geschäftslogik implementieren können, die für Ihr Add-In erforderlich ist.

Der Beispielcode vergleicht die MailItem.Size-Eigenschaft mit 0, um zu bestimmen, ob die Inlineantwort neu oder ein vorhandener Entwurf ist. Die ActiveInlineResponseWordEditor-Eigenschaft gibt ein Word.Document-Objekt doc zurück, das die aktive Inlineantwort für das aktive Explorer-Objekt darstellt. Der Code fügt mithilfe des Word-Objektmodells am Anfang dieses doc-Objekts einen Haftungsausschluss hinzu.

// InlineResponse fires when the user creates an inline response item
void m_Window_InlineResponse(object Item)
{
    if (Item is Outlook.MailItem)
    {
        m_Mail = Item as Outlook.MailItem;
        // Hook up event-aware instance variable.
        // Use the variable to implement any business logic 
        // required by your add-in.
        m_Mail.PropertyChange += 
            new Outlook.ItemEvents_10_PropertyChangeEventHandler(
                m_Mail_PropertyChange);
        // Implement any business logic.

        // Use mail.Size to determine if item is new 
        // or is a draft inline response.
        // Size == 0 indicates a new inline response.
        if (m_Mail.Size == 0)
        {
            {
                Word.Document doc = 
                    m_Window.ActiveInlineResponseWordEditor as Word.Document;
                Word.Application wdApp = doc.Application as Word.Application;
                Word.Range rng = wdApp.ActiveDocument.Range(Start: 1);
                rng.InsertBefore("My Disclaimer...");
            }
        }
        else
        {
            // Do nothing.
        }
    }
}

Beachten Sie, dass die ActiveInlineResponse-Eigenschaft ein MailItem-Objekt zurückgibt, das das aktive Inlineantwortelement darstellt. Sie können dieselben Eigenschaften und Methoden des MailItem-Objekts für dieses Element verwenden, bis auf folgende:

Ist dagegen keine Inlineantwort aktiv, geben die Eigenschaften ActiveInlineResponseWordEditor und ActiveInlineResponsenull zurück.

Hinzufügen benutzerdefinierter Steuerelemente zur Kontextregisterkarte "Verfassentools"

Ein anderes mögliches Szenario ist, dass Sie die Outlook-Benutzeroberfläche für eine Inlineantwort erweitern möchten. Zum Erweitern der Outlook-Benutzeroberfläche müssen Sie die Erweiterbarkeit der Office Fluent-Benutzeroberfläche verwenden, die in diesem Artikel nicht detailliert behandelt wird. Weitere Informationen zum Erweitern der Outlook-Benutzeroberfläche finden Sie unter den Links am Ende dieses Artikels. Wenn eine Inlineantwort in Outlook 2013 angezeigt wird, wird dem Benutzer die Kontextregisterkarte Verfassentools im Office Fluent-Menüband angezeigt. Um der Kontextregisterkarte Verfassentools Ihr Steuerelement hinzuzufügen, fügen Sie benutzerdefinierte Steuerelemente im Abschnitt <contextualTabs> </contextualTabs> der Menüband-XML hinzu, die an die GetCustomUI-Methode der IRibbonExtensibility-Schnittstelle für die RibbonID "Microsoft.Outlook.Explorer" übergeben wird. Sie müssen das tabSet-Element mit dem entsprechenden Wert für das idMso-Attribut identifizieren, in diesem Fall "TabComposeTools". Die folgende Menüband-XML erstellt das MyButton-Steuerelement, das in Abbildung 7 dargestellt ist.

    <contextualTabs>
      <tabSet idMso="TabComposeTools">
        <tab idMso="TabMessage">
          <group label="MyGroup" id="MyComposeToolsGroup">
            <button id="MyButtonInlineResponse"
                    size="large"
                    label="MyButton"
                    imageMso="MagicEightBall"
                    onAction="OnInlineResponseButtonClick" />
          </group>
        </tab>
      </tabSet>
    </contextualTabs>

Wenn der Benutzer das MyButton-Steuerelement auswählt, wird der OnInlineResponseButtonClick-Handler aufgerufen. Das folgende Codebeispiel verwendet die ActiveInlineResponseWordEditor-Eigenschaft, um eine Instanz eines Word.Document-Objekts abzurufen. Sie können die gesamte Funktionalität des Word.Document-Objekts verwenden, um Text nach den Anforderungen Ihres Szenarios einzufügen und zu formatieren.

// Callback for inline response custom button.
public void OnInlineResponseButtonClick(Office.IRibbonControl control)
{
    if (control.Context is Outlook.Explorer)
    {
        Outlook.Explorer myExplorer =
            control.Context as Outlook.Explorer;
        Word.Document doc =
        myExplorer.ActiveInlineResponseWordEditor as Word.Document;
        Word.Application wdApp = doc.Application as Word.Application;
        Word.Range rng = wdApp.ActiveDocument.Range(Start: 1,
            End: wdApp.ActiveDocument.Characters.Count);
        rng.InsertBefore("\n" + "My Disclaimer...");
    }
}

Änderungen an der Anbietererweiterung für den Outlook Connector für soziale Netzwerke

In Office 2013 wurde der Bereich des Outlook Connectors für soziale Netzwerke (Outlook Social Connector, OSC) erweitert. Nicht nur Outlook, sondern alle Office-Clientanwendungen, die das Anzeigen von Anwesenheitsinformationen und der Visitenkarte unterstützen, können kombinierte Aktualisierungen sozialer Informationen anzeigen, die auf einer professionellen Website oder in einem sozialen Netzwerk vorgenommen wurden. Außerdem unterstützen auch SharePoint Server, SharePoint Workspace und der Lync-Client den OSC.

Eine wesentliche Änderung der OSC-Anbietererweiterung in Outlook 2013 besteht darin, dass Aktivitäten nicht mehr mithilfe des Aktivitätencaches synchronisiert werden. Wenn ein OSC-Anbieter das Anzeigen von Aktivitäten unterstützt, muss der Anbieter Aktivitäten bei Bedarf synchronisieren, um die aktuellen Aktivitäten anzuzeigen.

Darüber hinaus können Anbieter nun das OSC-XML-Schema verwenden, um zusätzliche Metadaten für eine Person zu kommunizieren, z. B. askmeabout, businessAddress, interests, skills, schools, website.

Ausführliche Informationen dazu finden Sie unter Neuigkeiten für Anbieter.

Einstellung der Unterstützung für Office Mobile Service

In Office 2010 können Entwickler Webdienste für Office Mobile Service (OMS) erstellen, um die mobilen Funktionen von Outlook und SharePoint in mobile Geräte zu integrieren. In Office 2013 wird OMS nur noch von SharePoint unterstützt. In Outlook 2013 ist auch das MobileItem-Objekt und seine Member veraltet. Ein Versuch, ein MobileItem mithilfe von Application.CreateItem zu erstellen, gibt E_INVALIDARG zurück.

Koexistenz mit früheren Versionen von Outlook

Koexistenz bezieht sich auf die Möglichkeit der Bereitstellung von Outlook 2013 durch Klick-und-Los auf demselben Computer, auf dem Outlook 2007 oder Outlook 2010 vorhanden ist. Koexistenz, auch bekannt als parallele Installation, ermöglicht es dem Benutzer, Outlook 2013 auszuprobieren, ohne eine frühere Outlook-Version zu deinstallieren. Klick-und-Los ist der standardmäßige Liefermechanismus für Outlook 2013. Sobald Outlook 2013 auf einen Computer geliefert wurde, kann der Benutzer Outlook 2013 oder die auf dem Computer installierte vorherige Version von Outlook ausführen. Beachten Sie, dass Koexistenz nicht bedeutet, dass gleichzeitig zwei Versionen von Outlook ausgeführt werden können. Gleichzeitiges Ausführen von zwei Versionen von Outlook wird nicht unterstützt, und Outlook zeigt ein Fehlerdialogfeld an, wenn Sie versuchen, während der Ausführung von Outlook 2013 eine frühere Version von Outlook auszuführen.

Hinweis

Koexistenz von Outlook 2013 mit Outlook-Versionen vor Outlook 2007 wird nicht unterstützt.

Versionsunterstützungsmatrix

Dieser Abschnitt beschreibt die Bitanzahl und Installationsmodi früherer Versionen von Outlook, die parallel zu Outlook 2013 installiert sein können. Beachten Sie Folgendes:

  • MSI bezieht sich auf die MSI-Installation (Microsoft Installer) einer früheren Version von Outlook.

  • Unterstützte Windows-Versionen für Office 2013 sind nur Windows 7 und Windows 8.

  • Windows Server wird für Klick-und-Los nicht unterstützt.

  • Die Koexistenz von Outlook 2013 mit Outlook 2003 oder früher wird nicht unterstützt.

  • Die Koexistenz von Outlook 2013 mit derselben Version von Outlook wird nicht unterstützt. Das heißt, durch MSI installiertes Outlook 2013 und durch Klick-und-Los geliefertes Outlook 2013 werden nicht auf demselben Computer unterstützt.

  • Unterschiedliche Bitanzahl wird nicht unterstützt. Der Benutzer muss immer die Klick-und-Los-Version installieren, die der Bitanzahl der früheren MSI-Installation entspricht.

Version

Outlook 2007-MSI

Outlook 2010 x86-MSI

Outlook 2010 x64-MSI

Outlook 2013 C2R x86

Ja

Ja

Nein

Outlook 2013 C2R x64

Nein

Nein

Ja

Versionsabhängige Profile

Zur Unterstützung der Koexistenz speichert Outlook 2013 Outlook-Profile in einer separaten Struktur in der Windows-Registrierung. Das Profil aus einer früheren Version von Outlook wird beim ersten Start von Outlook 2013in die Outlook 2013-Profilstruktur migriert. Nachfolgende Änderungen oder Ergänzungen des Profils für die vorherige Version von Outlook werden bei nachfolgenden Starts von Outlook 2013 nicht migriert.

Struktur "Profiles" in der Windows-Registrierung

Im Gegensatz zu früheren Versionen von Outlook, die Profile unabhängig von der Version unter "HKCU\Software\Microsoft\Windows NT\Windows Messaging Subsystem\Profiles" speicherten, werden Profile in Outlook 2013 in einer Struktur mit Versionsangabe unter folgendem Schlüssel gespeichert:

HKEY_CURRENT_USER\Software\Microsoft\Office\<Version>\Outlook\Profiles

Dabei ist <Version> eine Zeichenfolge, die die Hauptversion xx.0 darstellt, beispielsweise 15.0 für Outlook 2013.

Aufrufen von MAPI-Profil-APIs

Es gibt keine Änderungen für Anwendungen zum Lesen von Profildaten aus einer Profilstruktur. Nach der Initialisierung von MAPI (für eine ältere Version oder die aktuelle MAPI-Version, je nach den Anforderungen der Anwendung) kann eine Anwendung gängige MAPI-Profil-APIs verwenden, um Werte aus der entsprechenden Profilstruktur zu lesen.

Wenn eine Anwendung MAPI für Outlook 2013 initialisiert, lesen oder schreiben MAPI-Profil-APIs Profildaten in der Struktur mit Versionsangabe. Wenn die Anwendung MAPI für eine frühere Version von Outlook initialisiert, lesen oder schreiben MAPI-Profil-APIs Profildaten in der versionsunabhängigen Struktur.

Registrierung des App-Pfads

Um zu verhindern, dass Anwendungen älterer Versionen die falsche MAPI-Version laden, wurde in Outlook 2013 die App-Pfad-Registrierung in der Registrierung geändert. Wenn eine ältere Version einer Anwendung die falsche MAPI-Version lädt, kann dies zum Absturz der Anwendung beim Laden der MAPI führen. In der Regel haben frühere Versionen von Outlook den Outlook-App-Pfad in den folgenden Registrierungsschlüssel geschrieben:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE

Bei früheren Versionen von Klick-und-Los wurde der App-Pfad für Outlook nicht geändert. Die Bereitstellung von Outlook 2013 durch Klick-und-Los ändert den App-Pfad wie folgt:

  • Es werden Patches für Outlook 2007 oder Outlook 2010 installiert, um die Abhängigkeit vom App-Pfad zu entfernen.

    Der App-Pfad wird so geändert, dass er auf den Outlook 2013-Pfad für Outlook.exe verweist.

    Der Standardpfad für Outlook.exe für Outlook 2013 lautet "C:\Programme\Microsoft Office 15\root\office15".

MAPI-Versionsverwaltung

Anwendungen, die MAPI-Aufrufe verwenden, rufen die MAPIInitialize-Funktion auf, um eine MAPI-Sitzung zu initialisieren. Anwendungen, die MAPI initialisieren, verwenden standardmäßig die von Outlook 2013 bereitgestellte MAPI-Version. Wenn Sie eine andere Version von MAPI verwenden müssen, finden Sie Informationen hierzu unter den folgenden Themen in der Referenz zur Outlook 2013-MAPI.

Simple MAPI

Simple MAPI bezieht sich auf die API, die es Anwendungen ermöglicht, mithilfe von MAPISendMail oder der neuen, mit Windows 8 eingeführten MAPISendMailW-API Nachrichten mit Anlagen zu senden.

  • Die einzigen unterstützten Simple MAPI-APIs sind MAPISendMail (Windows 7) oder MapiSendMailW (Windows 8).

    Entwickler sollten möglicherweise vorhandenen Simple MAPI-Code bearbeiten und MAPISendMailW (Windows 8) oder MAPISendMailHelper (Windows 7) mit voller Unicode-Unterstützung und der Möglichkeit, einen Outlook-Inspector ohne Modus anzuzeigen, verwenden.

    Wenn Outlook nicht ausgeführt wird oder Outlook 2013 ausgeführt wird, wird beim Aufruf von MAPISendMail oder MAPISendMailW ein Outlook 2013-Inspector angezeigt.

    Wenn eine frühere Version von Outlook ausgeführt wird, wird beim Aufrufen von MAPISendMail oder MAPISendMailW der folgende Fehler angezeigt:

    Diese Aktion wird nicht unterstützt, während eine ältere Version von Outlook ausgeführt wird.

Protokollhandler

Während der Installation wird Outlook 2013 als Standardprotokollhandler für die gängigen Protokolle in der folgenden Tabelle registriert. Outlook 2013, Outlook 2010 und Outlook 2007 unterstützen diese Protokolle.

Protokoll

Beschreibung

feed:, feeds:

Handler für RSS-Feeds

mailto:

Handler für MailTo-Links, die einen Outlook-Inspector anzeigen

stssync:

Handler für SharePoint-Synchronisierung

outlook:

Outlook-Protokoll kann nur vom Outlook-Elementtextkörper oder einer Ordner-Homepage verwendet werden.

webcal:

Handler für Webcal-Protokoll

Beachten Sie Folgendes, wenn Outlook 2013 zusammen mit einer älteren Version von Outlook auf demselben Computer installiert ist:

  • Wenn keine frühere Version von Outlook ausgeführt wird, veranlasst ein Aufruf des Protokollhandlers Outlook 2013, die Protokollhandleranforderung zu verarbeiten.

Wenn eine frühere Version von Outlook ausgeführt wird, wird beim Aufruf des Protokollhandlers durch eine Befehlszeilenübergabe die frühere Version von Outlook zur Verarbeitung der Anforderung aufgerufen.

Dateizuordnungen

Während der Installation wird Outlook 2013 als Standardhandler für die gängigen Dateizuordnungen in der folgenden Tabelle registriert. Outlook 2013, Outlook 2010 und Outlook 2007 unterstützen alle diese Dateierweiterungen.

Dateizuordnung

Beschreibung

.eml

E-Mail

.fdm

Outlook-Formulardefinition

.hol

Outlook-Feiertag

.ics

iCalendar-Datei

.msg

Outlook-Nachrichtenelement

.oft

Outlook-Elementvorlage

.pst

Outlook-Datendatei

.vcf

vCard-Datei

.vcs

vCalendar-Datei

Beachten Sie Folgendes, wenn Outlook 2013 zusammen mit einer älteren Version von Outlook auf demselben Computer installiert ist:

  • Wenn keine frühere Version von Outlook ausgeführt wird, wird beim Öffnen eines Elements im Dateisystem das Element in Outlook 2013 geöffnet. Diese Aktion startet Outlook 2013, wenn es nicht bereits ausgeführt wird.

  • Wenn eine frühere Version von Outlook ausgeführt wird, wird beim Öffnen eines Elements im Dateisystem Outlook 2013 gestartet und die Anforderung an die frühere Outlook-Version übergeben.

Gemeinsames Erstellen eines Outlook-Application-Objekts

Add-Ins sollten das Application-Objekt verwenden, das im OnConnection-Ereignis (systemeigene Add-Ins) oder im ThisAddin_Startup-Ereignis (mit Visual Studio-Tools für Office erstellte, verwaltete Add-Ins) zurückgegeben wird. Wenn die Anwendung ein Outlook.Application-Objekt mithilfe von CreateObject oder einer anderen Funktion, die gemeinsames Erstellen einer Instanz von Outlook.Application ermöglicht, gemeinsam erstellt, sollten Sie in einer Koexistenzumgebung Folgendes beachten:

  • Wenn Outlook nicht ausgeführt wird oder Outlook 2013 ausgeführt wird, wird beim Aufruf von CreateObject(“Outlook.Application”) ein Outlook.Application-Objekt zurückgegeben, das Outlook 2013 darstellt.

  • Wenn eine frühere Version von Outlook ausgeführt wird, wird beim Aufruf von CreateObject ein Outlook.Application-Objekt zurückgegeben, das die frühere Version von Outlook darstellt.

  • Überprüfen Sie die Application.Version-Eigenschaft, um die ausgeführte Version von Outlook zu bestimmen.

Erkennen von Klick-und-Los

Um das Vorhandensein von Outlook in der Klick-und-Los-Umgebung zu erkennen, überprüfen Sie, ob der Schlüssel "VirtualOutlook" im folgenden Registrierungsschlüssel vorhanden ist:

HKLM\Software\Microsoft\Office\15.0\Common\InstallRoot\Virtual\VirtualOutlook

Wenn der Schlüssel "VirtualOutlook" vorhanden ist, wurde Outlook als Klick-und-Los-Anwendung bereitgestellt.

Sicherstellen der Ausführbarkeit einer Lösung in der Koexistenzumgebung

Da Koexistenz der Standardbereitstellungsmodus ist, testen Sie Ihre Lösung zusammen mit Outlook 2013 und früheren Versionen von Outlook, und überprüfen Sie die folgenden möglichen Probleme:

  • Add-Ins werden in der versionsunabhängigen Struktur in der Windows-Registrierung unter folgendem Schlüssel registriert:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins

    oder

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins

    Da die Add-In-Registrierung versionsunabhängig ist, sollte das Add-In ausgeführt werden, wenn Outlook 2013 oder eine frühere Version von Outlook ausgeführt wird. Achten Sie darauf, eine aktualisierte Version des Add-Ins mit Outlook 2013 und früheren Outlook-Versionen zu testen. Das Add-In sollte die Outlook-Version mithilfe von Application.Version erkennen und sich ohne Fehler an die ausgeführte Outlook-Version anpassen.

  • Entfernen Sie Abhängigkeiten vom App-Pfad aus Ihrem Code.

  • Verwenden Sie nicht die Windows-Registrierung, um Profile aufzulisten. Verwenden Sie stattdessen die MAPI-Profil-APIs.

Leistungskriterien für die Aktivierung von Add-Ins

Mit Outlook 2013 wird die Add-In-Widerstandsfähigkeit von Outlook 2010 erweitert, indem Add-In-Leistungsindikatoren wie Start, Herunterfahren, Ordnerwechsel, das Öffnen von Elementen und die Aufrufhäufigkeit überwacht werden. Outlook zeichnet für jede Leistungsüberwachungsmetrik die verstrichene Zeit in Millisekunden auf.

Beispielsweise misst die Startmetrik die Zeit jedes einzelnen eingebundenen Add-Ins beim Starten von Outlook. Outlook berechnet dann den Median der Startzeit über 5 aufeinander folgende Iterationen. Wenn der Median der Startzeit 1000 Millisekunden (1 Sekunde) überschreitet, deaktiviert Outlook das Add-In und zeigt eine Benachrichtigung für den Benutzer an, dass ein Add-In deaktiviert wurde. Der Benutzer hat die Möglichkeit, das Add-In immer zu aktivieren. In diesem Fall deaktiviert Outlook das Add-In auch dann nicht, wenn es den Leistungsschwellenwert von 1000 Millisekunden überschreitet.

Überwachen der Leistung von Add-Ins für die standardmäßige Deaktivierung

Outlook verwendet die folgenden Kriterien, um zu bestimmen, ob ein Add-In deaktiviert werden sollte. Der Benutzer hat die Möglichkeit, ein Add-In immer zu aktivieren und es aus den Add-In-Deaktivierungskriterien auszunehmen.

Kriterium

Schwellenwert (in Millisekunden)

Beschreibung

Start

1000

Misst die Zeit in Millisekunden, bis das Add-In vollständig gestartet wurde, mit dem IDTExtensibility2_OnConnection-Ereignis. Übersteigt der Median der Zeit über 5 aufeinander folgende Iterationen den Leistungsschwellenwert, deaktiviert Outlook standardmäßig das Add-In.

Herunterfahren

500

Misst die Zeit in Millisekunden, bis das Add-in vollständig heruntergefahren wurde, mithilfe des IDTExtensibility2_OnDisconnection-Ereignisses. Gilt nur für Add-Ins, die langsames Herunterfahren erfordern. Diese Kriterien gelten nicht für Add-Ins, die schnelles Herunterfahren verwenden. Wenn der Median der Zeit über 5 aufeinander folgende Iterationen den Leistungsschwellenwert überschreitet, deaktiviert Outlook das Add-In beim nächsten Start von Outlook.

Wechseln zwischen Ordnern

500

Misst die Zeit in Millisekunden, bis das Add-In den Ordnerwechsel ausgeführt hat, mithilfe der Ereignisse BeforeFolderSwitch und FolderSwitch für das Explorer-Objekt. Übersteigt der Median der Zeit über 5 aufeinander folgende Iterationen den Leistungsschwellenwert, deaktiviert Outlook das Add-In standardmäßig.

Öffnen eines Elements

500

Misst die Zeit in Millisekunden, bis das Add-In ein Element geöffnet hat, mithilfe des Open-Ereignisses für ein Element. Übersteigt der Median der Zeit über 5 aufeinander folgende Iterationen den Leistungsschwellenwert, deaktiviert Outlook das Add-In standardmäßig.

Aufrufhäufigkeit

1000

Misst das Zeitintervall in Millisekunden zwischen 10.000 aufeinander folgenden Aufrufen des Add-Ins. Wenn das Intervall zwischen den 10.000 aufeinander folgenden Aufrufen und dem nächsten kleiner als der Leistungsschwellenwert ist, deaktiviert Outlook das Add-In standardmäßig. Im Gegensatz zu den vier anderen Kriterien wird für dieses Kriterium kein Median berechnet.

Kontrolle des Systemadministrators über Add-Ins

Der Benutzer kann steuern, welche Add-Ins auf seinem Computer ausgeführt werden. Systemadministratoren bietet Outlook 2013 mithilfe von Gruppenrichtlinien eine stärkere Kontrolle über Add-Ins. Gruppenrichtlinien haben immer Vorrang vor Benutzereinstellungen, und Benutzer können keine Add-In-Einstellungen für Add-Ins ändern, die mit der Gruppenrichtlinie "Liste der verwalteten Add-Ins" konfiguriert wurden. Der Richtlinienschlüssel lautet wie folgt.

Schlüssel

HKCU\Software\Policies\Microsoft\Office\15.0\Outlook\Resiliency\AddinList

Name

Liste der verwalteten Add-Ins

Beschreibung

Mithilfe dieser Richtlinieneinstellung können Sie angeben, welche Add-Ins immer aktiviert, immer deaktiviert (blockiert) oder vom Benutzer konfigurierbar sind.

> [!NOTE] >

Hier bezieht sich der Begriff "verwaltet" auf Add-Ins, die von der Gruppenrichtlinie behandelt werden, und nicht auf Add-Ins, die in verwalteten Programmiersprachen entwickelt wurden.

Um Add-Ins zu blockieren, die nicht durch diese Richtlinieneinstellung verwaltet werden, müssen Sie auch die Richtlinieneinstellung "Alle nicht verwalteten Add-Ins blockieren" konfigurieren.

Um diese Richtlinieneinstellung zu aktivieren, geben Sie die folgenden Informationen für jedes Add-In an:

  • Geben Sie im Feld "Wertname" die Programmkennung (ProgID) für COM-Add-Ins an.

    Um die ProgID für ein Add-In zu erhalten, suchen Sie im Registrierungs-Editor auf dem Clientcomputer, auf dem das Add-In installiert ist, nach Schlüsselnamen unter

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins

    oder

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins

  • Geben Sie den Wert im Feld "Wert" wie folgt an:

    • Um anzugeben, dass ein Add-In immer deaktiviert (blockiert) ist, geben Sie 0 an.

    • Um anzugeben, dass ein Add-In immer aktiviert ist, geben Sie 1 an.

    • Um anzugeben, dass ein Add-In vom Benutzer konfigurierbar und bei Aktivierung nicht durch die Richtlinieneinstellung "Alle nicht verwalteten Add-Ins blockieren" blockiert ist, geben Sie 2 an.

Wenn Sie diese Richtlinieneinstellung deaktivieren oder nicht aktivieren, wird die Liste der verwalteten Add-Ins gelöscht. Wenn die Richtlinieneinstellung "Alle nicht verwalteten Add-Ins blockieren" aktiviert ist, werden alle Add-Ins blockiert.

Add-Ins, die durch diese Richtlinie deaktiviert sind, werden nie vom Deaktivierungsfeature für Add-Ins von Outlook deaktiviert, das Add-Ins aus Gründen der Leistung, Stabilität oder Zuverlässigkeit deaktiviert.

Benutzeroberfläche des Deaktivierungsfeatures für Add-Ins

Wenn ein Add-In den Leistungsschwellenwert überschreitet, zeigt Outlook die Benachrichtigungsleiste in Abbildung 8 an, die den Benutzer darüber informiert, dass Add-Ins deaktiviert wurden.

Abbildung 8: Outlook zeigt eine Benachrichtigungsleiste an, wenn ein Add-in automatisch deaktiviert wurde.

Benachrichtigungsleiste

Klickt der Benutzer auf die Schaltfläche Deaktivierte Add-Ins anzeigen auf der Benachrichtigungsleiste, wird das Dialogfeld Deaktivierte Add-Ins angezeigt, wie in Abbildung 9 dargestellt.

Abbildung 9. Durch Klicken auf die Schaltfläche "Dieses Add-In immer aktivieren" wird das Add-In aktiviert und vom Deaktivierungsfeature für Add-Ins ausgenommen.

Add-ins immer aktivieren

Wenn der Benutzer entscheidet, dass die für das Add-In erforderliche Leistungszeit akzeptabel ist, hat der Benutzer die Möglichkeit, das Add-In immer zu aktivieren. Ein immer aktiviertes Add-In wird von Outlook nicht automatisch basierend auf Leistungskriterien deaktiviert. Wenn der Benutzer später entscheidet, dass er das Add-In nicht mehr aus dem Add-In-Deaktivierungsfeature ausnehmen möchte, kann er das Add-In auch im Dialogfeld Deaktivierte Add-Ins (siehe Abbildung 10) deaktivieren.

Abbildung 10. Durch Auswählen der Schaltfläche "Dieses Add-In deaktivieren" wird das Add-In deaktiviert.

Deaktivieren eines Add-ins

Verhindern, dass ein Add-in deaktiviert wird

Auch wenn die meisten Add-Ins nicht durch das Add-In-Deaktivierungsfeature deaktiviert werden, möchten Sie nicht, dass Ihr Add-In ständig deaktiviert wird. Hier sind Vorschläge zur Verbesserung der Leistung von Add-Ins:

  • Bevorzugen Sie systemeigene COM-Add-Ins vor verwalteten Add-Ins, da verwaltete Add-Ins den Aufwand für das Laden von .NET Framework beim Starten von Outlook verursachen.

  • Wenn Sie Aufgaben mit langer Ausführungszeit haben, z. B. Herstellen einer teuren Verbindung mit einer Datenbank, verschieben Sie diese Aufgaben auf einen Zeitpunkt nach dem Start.

  • Wenn möglich, sollten Sie Daten lokal zwischenspeichern, anstatt teure Netzwerkaufrufe während der Ereignisse FolderSwitch und BeforeFolderSwitch eines Explorers oder der Open-Ereignisse eines Elements auszuführen.

  • Der Abruf ist ein aufwändiger Vorgang. Ziehen Sie daher immer ein ereignisgesteuertes Modell gegenüber dem Abruf vor.

  • Beachten Sie, dass alle Aufrufe an das Outlook-Objektmodell im Hauptvordergrundthread von Outlook ausgeführt werden. Vermeiden Sie nach Möglichkeit langwierige Outlook-Objektmodellaufrufe. Beachten Sie, dass in Outlook 2013 Aufrufe an das Outlook-Objektmodell E_RPC_WRONG_THREAD zurückgeben, wenn das Outlook-Objektmodell von einem Hintergrundthread aufgerufen wird.

Insbesondere wenn Sie Office-Entwicklertools in Visual Studio zum Erstellen von verwalteten Add-Ins verwenden, beachten Sie, dass das erste Add-In, das die CLR lädt, wahrscheinlich zu einem Leistungsabfall führt. Ziehen Sie die folgenden Maßnahmen in Erwägung, und lesen Sie in den zusätzlichen Ressourcen am Ende des Dokuments Details nach:

  • Laden Sie verwaltete Add-Ins bei Bedarf.

  • Verzögern Sie das Laden der CLR.

  • Verwenden Sie ein MSI-Bereitstellungspaket anstelle von ClickOnce.

  • Verwenden Sie ggf. einen schnellen Pfad, um Schemaüberprüfung, Überprüfung digitaler Signaturen in Manifesten und automatische Überprüfung auf Updates zu umgehen. Weitere Informationen zur Verwendung des schnellen Pfads finden Sie im Blogbeitrag Bevorstehende Leistungsverbesserungen für ein Service Pack in Ihrer Nähe (Stephen Peters).

  • Wenn das Add-In das Menüband und Links in einer großen Bibliothek erweitert, setzen Sie die Menübandreflektion außer Kraft.

Schlussbemerkung

Mail-Apps bieten eine spannende Gelegenheit für Entwickler, Webdienste und kontextbezogene webbasierte Benutzeroberflächen direkt in Outlook und Outlook Web App zu integrieren. Wir haben unsere Vision "Einmal erstellen, überall ausführen" für Exchange- und Outlook-Entwickler verwirklicht. Jetzt bieten wir zwei Säulen der Erweiterbarkeit, die erste basierend auf dem in Office 2000 eingeführten Office-COM-Add-In-Feature und die zweite auf Basis der Mail-Apps-Plattform. Das COM-Add-In-Modell unterstützt tiefgreifende Integration nur mit dem Outlook-Client und setzt voraus, dass Sie zum Installieren Ihrer Lösung jeden Desktop berühren. Wenn Sie über eine vorhandene Add-In-Lösung verfügen, sollten Sie das Add-In möglicherweise für die Verwendung von Inlineantwort, Koexistenz und Add-In-Deaktivierungsfeature aktualisieren. Wenn Sie neue Möglichkeiten zum Erreichen einer sehr großen Benutzergruppe mithilfe von Outlook und Outlook Web App suchen, erstellen Sie eine Mail-App, und genießen Sie die einfache Bereitstellung im Web und die direkte Integration Ihres Webdiensts in die Outlook-Benutzeroberfläche. Welchen Weg Sie auch wählen (möglicherweise beide), viel Spaß beim Codieren!

Weitere Informationsquellen

Office-Add-Ins

Wetterleiste

Outlook- und Office-Objektmodell

Outlook Connector für soziale Netzwerke

Koexistenz und MAPI

Leistung und Entwicklung von Office-Add-Ins in Visual Studio

Verschiedenes