| 

.NET C# Java Javascript Exception

1
Ich habe mir ein eigenes Com-Add für Excel (2007) geschrieben (unter Verwendung des NetOffice Frameworks von Codeplex). Das Addin wird beim Build Prozess in Visual Studio automatisch registriert und nach Start von Excel auch korrekt geladen.
Um das Addin auch weiterreichen zu könnnen, habe ich mir noch einen Installer gebaut. Wenn ich das Addinn dann über den Installer installiere, wird das Addin leider nicht korrekt geladen.
Im Dialog Com-Addins (Excel Optionen) ist das Addin zwar vorhanden, aber nicht aktiviert. Beim Ladeverhalten steht "Nicht geladen. Während des Ladens des COM-Add-Ins ist ein Laufzeitfehler aufgetreten". In der Registry wurde der Key "LoadBehavior" von 3 auf 2 automatisch runtergesetzt. Was kann also jetzt die Ursache sein, daß das COM-Addin nicht korrekt geladen wird?
11.04.2013
mober 323 1 8
2 Antworten
4
Hm, das ist ein weites Feld. Schau mal, ob Dir

http://msdn.microsoft.com/en-us/library/cc563937(office.12).aspx

noch irgendwelche neuen Infos liefert.

Ansonsten kannst Du versuchen, Dir Logs über den Lade-Vorgang zu besorgen:

Erst mal das Addin komplett de- und wieder neu installieren (aber Excel noch nicht wieder starten). Dann eine Umgebungsvariable VSTO_LOGALERTS mit Wert 1 einrichten. Dann Excel starten und versuchen, das Addin zu aktivieren (Optionen -> Addins -> COM-Addins anzeigen -> Häkchen setzen). Danach gibt es im Temp-Ordner eine Datei ADDIN_NAME.log mit weiterführenden Informationen.

Wenn in dem Log irgendwas steht von Assembly oder eine abhängige Assembly nicht gefunden, dann kann man noch folgendes tun, um genauere Infos zu bekommen:

Folgende Einstellungen in der Registry vornehmen - vier Schlüssel anlegen, alle unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion:

DWORD ForceLog set value to 1

DWORD LogFailures set value to 1

DWORD LogResourceBinds set value to 1

String LogPath set value to folder for logs , z.B. C:\FusionLog\ - wichtig ist nur dass der Ordner existiert, schreibbar ist und der Pfad mit einem Backslash beendet wird.

Danach wieder aktivieren usw., Logs dann (hoffentlich) in dem angegebenen Ordner.

Soweit mal auf die Schnelle aus meinem Archiv. Ist schon weider ein kleines Weilchen her, das ich damit zu kämpfen hatte.
11.04.2013
Matthias Hlawatsch 13,2k 4 9
+1, ist das ein neuronal persistentes Archiv, aus dem Du das ziehst?
ffordermaier 11.04.2013
Nur der Index ;-) Die Daten hab ich in meinen Bookmarks und zwei E-Mails im Gesendet-Ordner gefunden.
Matthias Hlawatsch 11.04.2013
0
Hast Du die aktuellste Version von Office 2007 installiert?
12.0.6665.5003 SP 3 12.6662.12.0.6662.5000
Wenn nein unbedingt updaten. Meistens liegt es daran.
Wenn ja, hast Du das AddIn mit einem aktuellen VS 2008 mit allen Service Packs und Updates erstellt?
Dann musst Du nebest dem PIA 2007 und den VSTO 3.0, noch ein VSTO 3.0 Patch installieren, ansonsten läuft gar nichts. Lautet: vstor30sp1-KB949258-x86.exe
Möchtest Du das AddIn auf einer Windose 7 installieren, muss je nach Settings im Installation Packet, das Excel als Admin gestartet werden.
Möchtest Du das AddIn für alle User zur Verfügung haben, muss Du das EnableLocalMachineVSTO 1 als DWORD in der Registry eintragen unter HKLM/Software/Microsoft/Office/General
Falls Du mit einem Win 7 64 Bit arbeitest, musst Du drauf achten, das die Einträge für das AddIn in der Registry im WOW6432 Ordner liegen, nicht aber für das LocalMachineVSTO
Ausserdem würde ich empfehlen, ein Logging mit Log4Net oder so einzubauen. Ich hatte mal das Problem, das bei mir alles lief, aber beim Kunden nicht, weil ein File gefehlt hat und deswegen das AddIn immer abgeraucht ist. Denn wenn es nicht an den Service Packs oder an den Berechtigungen oder Registry Einträgen liegt, stürzt das AddIn meistens irgendwo ab.

Ausserdem die Empfehlungen von Matthias (VSTO_LOGALERTS) beachten.

Gruss Dan
11.04.2013
CodingMan 168 5

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH