Das Outlook 2003-Add-In wird nicht geladen, funktioniert jedoch
-
28-10-2019 - |
Frage
Ich habe ein Outlook-Add-In für 2003, 2007 und 2010 erstellt. Das Add-In funktioniert 2007 und 2010 einwandfrei, wird jedoch 2003 auf keinem anderen Computer als meinem eigenen Entwicklungscomputer korrekt geladen. Es gibt keine Codeprobleme, da im Ladeverhalten keine Fehler angezeigt werden und es sich nicht um ein deaktiviertes Element handelt. Das Add-In wird auch nicht in der Liste der COM-Add-Ins angezeigt. Dieses Add-In hat bereits unter 2003 funktioniert.
Hier ist der seltsame Teil. Ich habe eine Kopie des Add-Ins von einem früheren Zeitpunkt, enthält also nicht einige der Funktionen der Vollversion. Dieses Add-In wird 2003 korrekt geladen. Im Rahmen meiner Tests habe ich auf einer VM die frühere Version (ich nenne es Test ) und die aktuelle Version installiert, die nicht funktioniert ( Ich werde es voll nennen. In der Registrierung unter HKCU> Software> Klassen> CLSID> [[guid]]> InprocServer32 habe ich für die Version test die Schlüssel 'Manifest Location' und 'Manifest Name' so geändert, dass sie die Werte von sind Vollversion . Ich habe dann Outlook ausgeführt und die Vollversion lief perfekt.
Ich kann nicht sehen, wie das vollständige Add-In unter den eigenen Registrierungseinstellungen nicht funktioniert, aber unter Test und nur unter Outlook 2003 einwandfrei funktioniert .
Hier sind die grundlegenden Informationen:
Mein Entwickler-Setup lautet:
- Windows 7 64-Bit
- Outlook 2003 installiert
- Ausführen von VS2008 für das Add-In-Projekt, aber auch Verwenden von VS2010 für eine Satellitenbaugruppe.
- Das Set Security-Projekt ist enthalten und wurde geändert, damit für mehrere Assemblys CASPol festgelegt werden kann.
Die folgenden Voraussetzungen sind im Setup-Projekt enthalten:
- .Net 2.0
- .Net 3.5SP1
- Office 2003 PIA (auch PIAs 2007 und 2010 für 2007 bzw. 2010)
- VSTOSE-Laufzeit
- Windows Installer 3.1
Alle Hinweise wären sehr dankbar, da ich fast 4 Tage mit diesem Thema verbracht habe!
TIA.
Update 1:
Gemäß den Kommentaren von @JoaoAngelo habe ich die Registrierungseinstellungen überprüft und sie lauten wie folgt:
HKCU> Software> Klassen> CLSID> {Add-In-CLSID}> InprocServer32
- (default) - '%CommonProgramFiles%\Microsoft Shared\VSTO\8.0\AddinLoader.dll' - ManifestLocation - path to the containing folder - ManifestName - the .dll.manifest file name - ThreadingModel - 'Both'
HKCU> Software> Microsoft> Office> Outlook> Addins> MyAddin
- (default) - not set - CommandLineSafe - '1' - Description - a string - FriendlyName - add-in ID - LoadBehavior - '3' (this never gets set to 2, which would indicate an issue) - Manifest - path to the .dll.manifest of the add-in assembly - Path - path to the containing folder
Unter letzterem habe ich gemäß der Bereitstellungsseite
, aber ohne Erfolg: - ManifestLocation - ManifestName
Die CLSID ist dieselbe wie in HKCU> Software> Klassen> CLSID und in der gesamten Registrierung.
Lösung
Ich habe es endlich geschafft, das Problem zu finden, es war mit der Registrierung verbunden.
Ich hatte ursprünglich geplant, separate Add-Ins für jede Version von Outlook zu haben, und als solche lauteten meine Namespaces und Namenskonventionen usw.:
- [Firma] .AddIns.Outlook2003
- [Firma] .AddIns.Outlook2007
- [Firma] .AddIns.Outlook2010
Es ist mir jedoch gelungen, das Add-In für alle drei Ziele zu erstellen. Daher habe ich [Firma] .AddIns.Outlook2003 in [Firma] .AddIns.Client umbenannt.
Ich habe die Registrierungseinstellungen für HKCU> Software> Microsoft> Office> Outlook> Addins> MyAddin geändert, um auf die beschriebene Änderung zu verweisen. Aus irgendeinem Grund habe ich sie jedoch nicht unter HKCU> Software> Klassen aktualisiert.
Sobald ich die letzten Einstellungen in VS geändert habe, hat es funktioniert!
Als Referenz wurden die Änderungen in VS unter dem Setup-Projekt unter Ansicht> Registrierung vorgenommen.
Etwas ärgerlich, dass dieses Problem unter 2007/2010 nicht aufgetreten ist, da es möglicherweise einfacher war, es aufzuspüren.
Andere Tipps
Wenn Sie dies noch nicht getan haben, sollten Sie die folgenden Umgebungsvariablen festlegen, um Sie bei der Behebung von Problemen beim Laden von Add-Ins zu unterstützen:
-
VSTO_LOGALERTS=1
-
VSTO_SUPPRESSDISPLAYALERTS=0
Die erste führt dazu, dass eine * .log-Datei in dem Verzeichnis erstellt wird, das die Add-In-Assemblys enthält, und die zweite ermöglicht die Anzeige von Fehler-Popups, wenn Sie die Zielanwendung starten, in diesem Fall Outlook.
Sie sagen auch, dass das Add-In in Ihrer Entwicklungsbox mit Office 2003 korrekt funktioniert. Da Visual Studio das Add-In beim Erstellen automatisch in der Entwicklungsbox registriert, sollten Sie sicherstellen, dass Sie alle erforderlichen Registrierungsschlüssel im Setup erstellen. Sie können den Abschnitt Erforderliche Registrierungseinträge im folgenden MSDN-Artikel überprüfen, um sicherzustellen, dass im Setup die richtigen Schlüssel erstellt wurden:
Ich würde empfehlen, die hier beschriebenen Schritte zur Fehlerbehebung auszuführen:
Sind Sie sicher, dass das Add-In aus irgendeinem Grund von Outlook nicht deaktiviert wurde?Wenn Sie es auf Maschinenebene installiert haben (im Gegensatz zur Benutzerebene), wird es in keinem Fall in der Liste der Com-Add-Ins angezeigt.Versuchen Sie vielleicht, es als Add-In pro Benutzer zu installieren (damit es in der Liste angezeigt wird) und gehen Sie von dort aus?