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
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
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 |
---|---|
Eine Regel zur Überprüfung, ob das Element einem bestimmten Typ angehört (Termin, Nachricht oder benutzerdefinierte Nachrichtenklasse). Beispiel:
|
|
Eine Regel zur Überprüfung, ob das Element eine bestimmte Entität besitzt. Beispiel:
|
|
Eine Regel zur Überprüfung, ob es Übereinstimmungen mit dem angegebenen regulären Ausdruck gibt. |
|
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
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
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:
Der Wetterdatendienst unterstützt eine Basis-URL für einen Webdienst, beispielsweise http://service.contoso.com/data.aspx.
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
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
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 |
---|---|
ReadComplete-Ereignis |
|
ShowCheckAddressDialog-Methode ShowCheckFullNameDialog-Methode ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ActiveInlineResponse-Eigenschaft ActiveInlineResponseWordEditor-Eigenschaft InlineResponse-Ereignis InlineResponseClose-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
olEas-Enumerationswert |
|
olWorkingElsewhere-Enumerationswert |
|
olClassPeopleView-Enumerationswert |
|
olSearchScopeCurrentStore-Enumerationswert |
|
olPeopleView-Enumerationswert |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
ReadComplete-Ereignis |
|
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 |
---|---|---|
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 |
DayWeekFont-Eigenschaft DayWeekTimeFont-Eigenschaft MonthFont-Eigenschaft |
|
ContactItem |
Links-Eigenschaft |
DistListItem |
Links-Eigenschaft |
DocumentItem |
Links-Eigenschaft |
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 |
olLink-Enumerationswert olLinks-Enumerationswert olMobile-Enumerationswert |
|
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.
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:
MailItem.Actions-Eigenschaft
MailItem.Close-Methode
MailItem.Copy-Methode
MailItem.Delete-Methode
MailItem.Forward-Methode
MailItem.Move-Methode
MailItem.Reply-Methode
MailItem.ReplyAll-Methode
MailItem.Send-Methode
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.
Erstellen von MAPI-Anwendungen für 32- und 64-Bit-Plattformen
Vorgehensweise: Wählen Sie eine bestimmte Version von MAPI zu laden
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 |
|
.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.
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.
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.
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
Bevorstehende Leistungsverbesserungen für ein Service Pack in Ihrer Nähe (Stephen Peters)
Veröffentlichen von Office-Lösungen mithilfe von Windows Installer
Verschiedenes