Laden...

COMAddin für Excel wird nicht geladen - Wieso ?

Erstellt von gelöschtem Konto vor 13 Jahren Letzter Beitrag vor 13 Jahren 6.388 Views
Gelöschter Account
vor 13 Jahren
COMAddin für Excel wird nicht geladen - Wieso ?

Ich seh gerade irgendwie den Wald vor lauter Bäumen nicht.
Ich habe hier ein COMAddin für Excel das IDTExtensibility2 implementiert.
Nach regasm /codebase kann ich das Ding mit meinem Testclient
wunderbar erstellen. Excel setzt beim starten jedoch kommentarlos das Loadbehaviour von 3 von 2 um und das wars. Ich versteh einfach nicht wieso.
Ich habe länger kein COMAddin mehr auf die Art erstellt und habe vielleicht irgendwas vergessen, allerdings kann ich der MS Doku nichts finden.
Das Projekt habe ich einfach mal angehängt.
Sieht vielleicht jemand was das ich nicht blicke? 🙁

U
208 Beiträge seit 2008
vor 13 Jahren

Hab es grad bei mir getestet. Das AddIn wird bei mir geladen. Allerdings erst, nachdem ich es über Excel-Optionen > Add-Ins > Verwalten: Excel-Add-Ins: Gehe zu... > Automatisierung... hinzugefügt habe.

Generell gilt zu diesem Problem (also, dass er den LoadBehavior-Wert von 3 auf 2 stellt), dass entweder irgendwo in deinem Add-In-Code eine Exception ausgelöst wurde (was man in deinem Fall wohl ausschließen kann, da ja kein funktionaler Code enthalten ist), oder, dass auf dem Endgerät die Komponenten Shared Add-in Support Update for the Microsoft .NET Framework 2.0 (KB908002) installiert ist.
Habe selber mal vor einiger Zeit einiges an Kopfzerbrechen hinter mir, als ich mal ein Excel-COM-Add-In deployen musste (auf dem Entwickler-PC funktioniert es ja im Normalfall problemlos).
Irritierend an diesem Knowledge-Base-Artiekl war für mich damals, dass dort von COM-Add-Ins die Rede ist, die mit Visual Studio 2005 erzeugt werden, weshalb ich dann diesen Lösungsweg erst gar nicht ausprobiert hatte, da ich in VS2008 entwickle. Später hat sich dann aber herausgestellt, dass nicht die Visual-Studio-Version entscheidend ist, sondern die .NET-Framework-Version. Da du wie ich damals 2.0 als Target Framewort eingestellt hast, kann ich mir gut vorstellen, dass da das gleiche Problem zutage kommt.

Eine kleine Hürde gibt es aber bei der KB908002-Komponete aber noch: Wenn man die "vs2005-kb908002-enu-x86.exe" aus obigem Link herunterlädt und installiert, wird im Visual-Studio-2005-Verzeichnis im SDK\v2.0\Bootstrapper-Ordner die benötigte Komponente kopiert, sodass man diese beim Erstellen eines VS-Setup-Projekts als erforderliche Komponente auswählen kann (die Installation funktioniert leider nur mit installiertem VS2005; anders scheint man an die Komponente leider nicht dranzukommen). Damit die Komponente auch in VS2008-Projekten verfügbar ist, muss der KB908002-Ordner in das "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages"-Verzeichnis kopiert werden.

Hoffe das hilft dir bei deiner Problemlösung.

Grüße,
Andreas

Gelöschter Account
vor 13 Jahren

Du lieber Himmel du hast recht. Wenn ich es nachträglich unter Automatisierung hizufüge gehts. Aber ich schwöre Stein auf Bein das ich damals nicht getan habe.
Deswegen schiebe ich die Schuld vermutungsweise auf irgendein Sicherheitsupdate bzw. Service Pack. Ich hatte schon Voodoo vermutet.
Danke !