Outlook COM-Add-Ins (VSTO)

Diese Seite behandelt das "alte" Add-Ins"-Modell von Outlook. Mittlerweile meint Microsoft mit "Add-In" aber an vielen Stellen das neue JavaScript-getriebene Add-In-Modell, welches ich noch nicht beschrieben habe.

Neben dem Zugriff auf Outlook per Olk VBScript, die Programme in Outlook VBA oder Code in Outlook Formularen können Entwickler Outlook auch per DLL erweitern. Hier mal die Übersicht einiger aktiver COM-Add-Ins in meinem Outlook 2007 (Erreichbar über das Menü "Extras -Vertrauensstellungscenter) 

In Outlook 2003 ist der Web zu den Einstellungen etwas länger über "Menü Extras - Menü:Optionen -Karteikarte:Weitere - Button: Erweiterte Optionen, Button AddIns und ComAddins"

Achtung
Nicht immer sind alle AddIns in der Liste aufgeführt. Dann hilft ein Blick in die Registrierung. (Siehe weiter unten)

Outlook Add-ons können im Gegensatz zu Outlook Formularen nicht über Exchange verteilt werden, sondern müssen vom Benutzer oder per Softwareverteilung auf jedem lokalen PC installiert werden. Dafür können die DLLs aber nahezu alles mit und in Outlook tun, die eine Erweiterung so braucht. So gibt es DLLs für

  • Archivprodukte
  • Suchfunktionen
  • CRM Module
  • Faxserver
  • Unified Communication
  • TAPI und Telefonanlagen
  • Verschlüsselung und Signierung (z.B. PGP)
  • Virenscanner

Selbst Exchange Server bietet einige Funktionen wie z.B. die Verwaltung des Event Service, Unified Messaging als COM-AddIn DLLs an.

Add-Ins selbst schreiben

Natürlich können Sie Outlook selbst auch mit DLLs erweitern.  Mit dieser Option habe ich mir selbst bislang aber nicht aktiv beschäftigt. Daher kann ich hier nur ein paar Links anbieten:

Add-Ins per Regedit abschalten

Manchmal mach ein Add-In so Probleme, dass Outlook nicht mal mehr startet. In den meisten Fällen merkt Outlook dies und deaktiviert beim nächsten Start das entsprechende DLL. Aber auch dieser Weg funktioniert nicht immer fehlerfrei.

Alternativ können Sie Outlook mit gedrückter "STRG"-Taste in einem abgesicherten Mode starten. Daher ist man gut beraten, den Speicherplatz der Add-In Verbindung zu können und dort per RegEdit die DLLs temporär oder dauerhaft zu entfernen.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins
HKEY_CURRENT_User\SOFTWARE\Microsoft\Office\Outlook\Addins
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Client\Extensions

Das Entfernen einer DLL hier bewirkt aber nur, dass Outlook sie nicht mehr lädt. Es ist aber keine "Deinstallation" der Software an sich.

Add-Ins und GPO

Ein anderer Weg besteht in der Steuerung per GPO. Hier können Sie jedes beliebige Plugin mit seinem Namen eintragen und das Verhalten steuern. Möglich sind folgende Werte

0: Add-On ist deaktiviert und Anwender kann es nicht aktivieren (Verboten)
1: Add-On ist aktiviert und Anwender kann es nicht ändern (Erzwungen)
2: Add-On ist aktiviert und Anwender kann es selbst steuern (Wahlfrei)

Sie müssen sich dazu die ClassID des ADD-On aus der Registrierung klauben. Der Pfad ist

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins
HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins

Hier interessiert der Ordnerpfad, z.B. "UCAddin.UCAddin.1". Über die GPMC können Sie dann in den Office GPOs die "Managed AddIns" steuern:

 

So können Anwender bestimmte Add-Ins dann nicht mehr aktivieren oder deaktivieren.

Weitere Links