Outlook 2007 Add-In-Ausnahmebehandlung

9

Ich habe ein Outlook 2007-Add-In, das ich kürzlich geerbt habe, und derzeit gibt es ein Problem in der Produktion, bei dem einige Benutzer ihr Add-In regelmäßig und scheinbar zufällig deaktivieren. Es gibt keine Protokolle aus dem Add-In und es gibt try / catch (und eat) Blöcke um jeden Methoden- / Ereignisaufruf in den Add-In-Code. Ich habe ein wenig gegoogelt und festgestellt, dass Outlook diese "Soft-Deaktivierung" von Add-Ins durchführt, wenn in Outlook nicht behandelte Ausnahmen ausgelöst werden.

Soweit ich feststellen kann, gibt es keine Ausnahmen, die vom Add-In ausgelöst werden. Was ich tun möchte, ist entweder 1) Erstellen Sie eine Art von globalen Ausnahme-Handler im Add-in, um 100% sicher zu sein, dass alle Ausnahmen abgefangen werden. Oder 2) Irgendwie zuhören, dass Outlook das Add-In in der Registry "deaktiviert" und dieser Listener den Reg-Key entfernt, den Outlook setzt.

Ich habe versucht, # 1 durch Folgendes zu tun:     

%Vor%

aber keiner war erfolgreich.

Ich stelle fest, dass System.Windows.Forms.Application.ThreadException nicht unbedingt auf Outlook-Add-Ins zutrifft, aber ich dachte mir, warum ich es nicht ausprobieren sollte.

Außerdem hatte ich gelesen, dass Outlook eine separate Anwendungsdomäne für Add-Ins startet, also hoffte ich, dass die AppDomain.CurrentDomain dafür funktionieren würde. Ich habe Code geschrieben, der absichtlich Ausnahmen zum Testen auslöst und keinen Eintrag in diese beiden Ereignisse erhalten konnte, und Outlook hat das Add-In weiterhin deaktiviert.

Jede Hilfe / Einsicht würde sehr geschätzt werden.

    
Adam 07.05.2010, 21:37
quelle

1 Antwort

1

Wenn ein Outlook-Add-In deaktiviert wird, ändert sich das Ladeverhalten von 3 auf 2. Sie können dieses Ladeverhalten in der Registrierung überprüfen, um festzustellen, ob ein Add-In deaktiviert ist oder nicht.

    
Kapil 12.07.2010 13:21
quelle