Ich bin heute ziemlich lange an einem Problem mit einem VSTO Word Add-In gesessen. Trotz korrket installierter VSTO 2005 SE Runtime und Primary Interop Assemblies für Office 2003 wollte das Word Add-In einfach nicht laufen. Ein anderes VSTO Add-In in Outlook hingegen lief ohne Probleme.
Nach langer Suche in TechNet und MSDN habe ich irgendwann ein kleines Werkzeug mit dem schönen Namen Microsoft PSS VSTO 2005 Client TroubleShooter gefunden. Der TroubleShooter prüft, ob alle DLLs, die VSTO Add-Ins benötigen in der richtigen Version installiert sind und zeigt das Ganze in einer übersichtlichen Liste an. Zusätzlich werden noch bestimmte Einstellungen aufgeführt.


In meinem Fall hatte Word eine Datei mit dem Namen _msaccess.exe.config als Konifurationsdatei für das VSTO Add-In herangezogen. Das war eine ziemlich alte Konfigurationsdatei, die ich einmal für ein .NET 1.1 Assembly angelegt hatte, die via COM-Interop von Microsoft Access aufgerufen worden war. Die Konfiguration hatte damals die Verwendung von .NET Framework Version 1.1 erzwungen. Bei Access hatte der vorangestellte Unterstrich erfolgreich verhindert, dass die CLR diese Datei als Konfigurationsdatei verwendet. Dass Word diese Datei automatisch angezogen hat, verwundert mich sehr. Ich hätte es verstanden, wenn die Datei winword.exe.config geheißen hätte.
Der TroubleShooter hatte die alte Anwendungs-Konfigurationsdatei in seiner Liste aufgeführt und mich so auf die Fehlerursache aufmerksam gemacht. Nach dem löschen der _msaccess.exe.config hatte das VSTO Word Add-In sofort funktioniert.
Da VSTO Add-Ins nicht sagen, wenn ihnen irgendwas wehtut, sondern einfach garnichts machen, sollte man vor dem Ausrollen eines Add-Ins auf Produktiv-Maschinen den TroubleShooter zur Hand nehmen und überprüfen, ob die Konfiguration und die installierten Pakete in Ordnung sind.