Mein VSTO Outlook-Add-In funktioniert plötzlich nicht mehr auf einem Kundencomputer (es wird nicht geladen, keine Fehlermeldung), und ich habe keine Fehlerbehebung mehr. Der Computer ist Windows 7 x86, Outlook 2007. Das Add-In wurde mit Visual Studio 2008 geschrieben und verwendet VSTO 2005 mit den 2003-PIAs (da wir auch Outlook 2003 unterstützen müssen). Es funktioniert einwandfrei auf anderen Maschinen.
Folgendes habe ich versucht, um eine nützliche Ausgabe zur Fehlerbehebung zu erhalten:
- Fügen Sie die
VSTO_SUPPRESSDISPLAYALERTS
Umgebungsvariable hinzu (gesetzt auf0
) . - Starten Sie Outlook mit Administratorrechten.
- Schauen Sie in das Ereignisprotokoll.
Nichts. Das Add-In wird nur nicht geladen werden ohne Angabe von jeder Hinweis auf den Grund. Ich habe auch die "üblichen Verdächtigen" überprüft (CAS-Richtlinie, installierte PIAs, LoadBehavior in der Registrierung, Neuinstallation von VSTO und das Add-In).
Einige andere Beobachtungen:
LoadBehavior
in der Registrierung bleibt bei3
.- Das Add-In wird in Outlook als "deaktiviert" angezeigt. Das Aktivieren des Kontrollkästchens in "COM-Add-Ins" führt einfach zu nichts (kein Fehler, das Kontrollkästchen wird beim zweiten Aufrufen des Formulars erneut deaktiviert).
- Auf anderen Kundenmaschinen funktioniert es einwandfrei, und auf dieser Maschine funktioniert es einwandfrei. (Nein, der Kunde kann mir nicht sagen, was sich an seiner Maschine geändert hat.)
- Ich habe
Trace.WriteLine
ganz oben in meinem Code eine Nachricht (erste Zeile imThisAddIn_Startup
Handler), die nicht erreicht wird (ich habe mit DebugView nachgefragt ). Daher ist der Grund für das Nichtladen keine Ausnahme in meinem Add-In, sondern ein Fehler von VSTO beim Laden des Add-Ins oder von Outlook beim Laden von VSTO.
Anstatt mehr zufälliges Debuggen ("try this ...", "try that ...") möchte ich Outlook und / oder VSTO wirklich zwingen, mir zu sagen, was falsch ist , dh mir stattdessen eine nützliche Fehlermeldung zu geben beim Versuch, das Add-In zu aktivieren, einfach nichts zu tun . Irgendwelche Ideen?
quelle
Antworten:
Haben Sie versucht, das Add-In erneut zu aktivieren? Es wird nicht ausgeführt, nachdem es sich in der deaktivierten Warteschlange befindet. Nachdem Sie es über den deaktivierten Add-In-Bildschirm wieder aktiviert haben, können Sie das Kontrollkästchen im COM-Add-In-Bildschirm aktivieren, damit es geladen wird. Dies sollte Sie dann zu weiteren Details auffordern, da Sie die
VSTO_SUPPRESSDISPLAYALERTS
Variable darüber festgelegt haben, was möglicherweise im ersten passiert ist Ort.quelle
Hier ein bisschen mehr Details zur Lösung von RobertG5 (zu lang für einen Kommentar):
Das Problem war, dass das Add-In von Outlook schwer deaktiviert wurde. Wie ich gelernt habe, ist das etwas anderes als das "übliche" Szenario ohne Laden. Der Schlüssel zur Realisierung war, dass das Add-In nicht unter Inactive Application Add-Ins , sondern unter Disabled Application Add-Ins angezeigt wurde . Das macht einen Unterschied: Im letzteren Fall hilft es nichts, nur zum COM-AddIn-Bildschirm zu gehen und das Kontrollkästchen zu aktivieren. (Ich denke, ein nettes Meldungsfeld "Sie können dieses Add-In nicht laden, weil es schwer deaktiviert wurde" wäre zu viel, um zu fragen ... seufz .)
Wie aktiviere ich ein hart deaktiviertes Add-In wieder?
OK, jetzt kann das Add-In wieder geladen werden:
Referenz: http://msdn.microsoft.com/en-us/library/ms268871.aspx
quelle
Ich weiß, dass dies alt ist, aber aus verschiedenen Gründen habe ich kürzlich Fehlerbehebung bei Office-Add-Ins durchgeführt, die nicht geladen werden.
Es hat viel Zeit gekaut, also dachte ich, ich würde es teilen. Wenn Ihr Add-In nicht geladen wird oder nicht sichtbar ist oder so, versuchen Sie bitte diese Lösungen.
1. Das Add-In wird nicht geladen.
Nicht geladen. Beim Laden des COM-Add-Ins ist ein Laufzeitfehler aufgetreten.
Das Problem ist auf das Fehlen von .NET Framework 3.5 oder 4.0 zurückzuführen.
Hinweis: Wenn die Office-Version 64-Bit (x64) ist, benötige ich nur .NET 4.0. Wenn die Office-Version jedoch 32-Bit (x86) ist, wird der Fehler auch nach der Installation von .NET 4.0 angezeigt. Nach diesem Artikel ich .Net 3.5 installiert und dann hat es auf x86 Office funktioniert!
Außerdem muss hier das VSTO Runtime 3.0-Formular installiert werden .
2. Das Add-In wird nicht geladen.
Stellen Sie sicher, dass Sie die Registrierungsschlüssel richtig geschrieben haben. Gelegentlich tippe ich Verhalten ein, aber in der amerikanischen Rechtschreibung ist Verhalten. Überprüfen Sie daher "LoadBehavior".
Stellen Sie außerdem sicher, dass "LoadBehavior" 3 ist. Eine Liste der Werte finden Sie unter http://msdn.microsoft.com/en-us/library/vstudio/bb386106.aspx#LoadBehavior
3. Das Add-In ist nicht sichtbar.
Sie können das Add-In sichtbar machen, indem Sie zu Excel> Datei> Optionen> Add-Ins gehen> die Dropdown-Liste Verwalten auswählen und auf COM-Add-Ins setzen> Klicken Sie auf GO. Stellen Sie im Dialogfeld COM-Add-Ins sicher, dass Add-In aktiviert ist.
4. Das Add-In wurde deaktiviert.
Alternativ kann das Add-In ausgeblendet werden, da es deaktiviert wurde. Sie können das Add-In aktivieren, indem Sie zu Excel> Datei> Optionen> Add-Ins gehen> die Dropdown-Liste Verwalten auswählen und deaktivieren und auf GO klicken. Wählen Sie das deaktivierte Add-In aus und klicken Sie auf Aktivieren.
5. Die benutzerdefinierte ExcelDNA-Formel wird nicht korrekt gerendert
Anstatt den Zellenwert zu sehen, sehen Sie: #NAME?
Legen Sie den folgenden Registrierungsschlüssel fest:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\options\OPEN:
Mit dem richtigen Wert:
/R "C:\Program Files\XYZ\XYZ Addin\ExcelDNA.XYZAddIn.xll"
6. Excel HANGS nach dem Anzeigen eines Meldungsfelds
Aktivieren Sie die Anwendungseinstellungen erneut:
xlApp.ScreenUpdating = true; xlApp.DisplayAlerts = true; xlApp.Calculation = XlCalculation.xlCalculationAutomatic; xlApp.UserControl = true; xlApp.EnableEvents = true;
7. Weitere Fehlerbehebung
Aktivieren Sie Ihre VSTO-Protokolldatei, indem Sie den Systemumgebungsvariablen Folgendes hinzufügen:
NAME: VSTO_LOGALERTS VALUE: 1
Möglicherweise liegt ein Ausnahmefehler vor, weshalb Ihr Add-In nicht geladen wird.
Sie können diese Quelle auf weitere Informationen zur VSTO-Protokollierung und zu Warnungen überprüfen. Im Wesentlichen ändern Sie jedoch zwei Umgebungsvariablenwerte, je nachdem, was Sie tun müssen:
quelle
Manage
muss eingestellt werden,Disabled Items
war der Kicker für mich. Danke!Ich würde vorschlagen, ein Microsoft-Tool zur Diagnose von Add-In-Problemen namens AddinSpy zu verwenden .
quelle
Komisch für mich, ich habe einen Neustart versucht. Es wurde für mich behoben. Der Grund, warum es für mich behoben wurde, ist, dass ich eine betrügerische Excel.exe hatte, die versteckt lief. Das Add-In wurde nicht gestartet, da diese andere Excel-Anwendung ausgeführt wurde (ich habe eine MSAccess-Anwendung auf VSTO migriert), sodass in Access eine Automatisierungs-App ausgeblendet war.
Kurz gesagt, wenn Ihr Add-In nicht gestartet wird, überprüfen Sie schnell, ob keine anderen Excel-Anwendungen ausgeführt werden. Dies gilt natürlich nur, wenn Sie versuchen, eine brandneue zu installieren / in Betrieb zu nehmen.
(Ich habe diesen Link verwendet) https://www.add-in-express.com/creating-addins-blog/2012/11/13/wix-installation-vsto-office-addin/
quelle
Hier gibt es auch eine andere Möglichkeit, warum Sie trotz der oben genannten Umgebungsvariablen kein Feedback erhalten. Ich habe festgestellt, dass Sie, wenn Sie diesen Fehler nach einer Installation erhalten haben (keine frühere VSTO, die funktioniert hat), auch die Registrierung und das "Manifest" überprüfen sollten. Eintrag falls Sie einen haben.
Während Jeremy Thompson in seinem zweiten Aufzählungspunkt auf die Registrierung hinweist, zeigt er nicht den Manifest- Eintrag an, der Teil Ihrer Registrierungseinstellungen sein könnte. Wenn Ihr Manifest-Eintrag nicht auf den richtigen Pfad und die richtige Datei verweist, wird er in der Add-Ins-Liste mit dem Eintrag "Nicht geladen" angezeigt .
Hier sehen wir einen fehlerhaften Eintrag, der nur auf die VSTO-Datei verweist, keinen Pfad.
Dies führt dazu, dass Ihr AddIn so aussieht, als wäre es voller Fehler, aber es tauchen keine Fehler auf und erscheinen für Sie und machen die Dinge frustrierend. Beachten Sie also, dass der unten stehende Standorteintrag den Pfad ebenfalls nicht anzeigt.
Korrigieren Sie den Eintrag, indem Sie den richtigen Pfad zusammen mit dem Dateinamen eingeben. Dies wird behoben.
Ich nehme an, dass das Fehlen von Fehlern darauf zurückzuführen ist, dass Sie anfangs auf nichts gezeigt haben. Daher wird das AddIn aufgelistet, da es sich in der Registrierung befindet, obwohl nichts geladen werden muss.
quelle
Schließlich überredete ich Word, mir zu sagen:
Microsoft.VisualStudio.Tools.Applications.Runtime.CannotCreateStartupObjectException: Could not create an instance of startup object blaghblagh ---> System.TypeInitializationException: The type initializer for 'foo' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'blah' or one of its dependencies. The system cannot find the file specified.
Danach löste FusLogvw dank [1] das Problem schnell für mich.
[1] Datei oder Assembly oder eine ihrer Abhängigkeiten konnte nicht geladen werden
quelle