Interop CastException

08/12/2009 - 10:02 von Joachim Brust | Report spam
Hallo NG,

ich habe ein Problem bezüglich einer InvalidCastException auf ein
Powerpoint -Objekt und keinerlei Idee wo der Fehler liegen könnte und somit
wo ich mit der Suche ansetzen kann.

Szenario:
Kunde verwendet Office XP per Softwareverteilung;
Interop Assembly ist auf Basis von Office 2000 erstellt.

Das application-Objekt wurde erzeugt und beim Zugriff auf
application.Version schmiert mir der Zugriff ab.
Exception:
System.InvalidCastException: Unable to cast COM object of type
'PowerPoint.ApplicationClass' to interface type 'PowerPoint._Application'.
This operation failed because the QueryInterface call on the COM component
for the interface with IID '{91493442-5A91-11CF-8700-00AA0060263B}' failed
due to the following error: Schnittstelle nicht unterstützt (Exception from
HRESULT: 0x80004002 (E_NOINTERFACE)).
at PowerPoint.ApplicationClass.get_Version()

Da diese Konstellation bei zahlreichen Kunden problemlos funktioniert geh
ich eigentlich eher von einem administrativen Problem aus, allerdings würde
ich gerne in der Anwendung den Fall abfangen und den Anwender konkret auf
das Problem hinweisen (und nicht nur den Hinweis geben das Office
möglicherweise nicht korrekt installiert wurde und deshalb die Daten nicht
erzeugt werden können).

Bin für jeden Tip, was ich noch prüfen muß, dankbar!

mfg
Joe
 

Lesen sie die antworten

#1 Frank Dzaebel
08/12/2009 - 18:58 | Warnen spam
Hallo Joachim,

Kunde verwendet Office XP per Softwareverteilung;
Interop Assembly ist auf Basis von Office 2000 erstellt.
Das application-Objekt wurde erzeugt und beim Zugriff auf
application.Version schmiert mir der Zugriff ab.
Exception:
System.InvalidCastException: Unable to cast COM object of type
'PowerPoint.ApplicationClass' to interface type
'PowerPoint._Application'.



Sind die korrekten PIAs auf dem Ziel-System installiert, bzw. wird
das durch Dein Setup gemacht?

Speziell:
"[...] Außerdem müssen Sie die Verwendung von Office XP-COM-
Interop Assemblys vermeiden, die zur Entwurfszeit durch Microsoft
Visual Studio .NET generiert wurden."

[Primàre Interop-Assemblys (PIAs) für Microsoft Office XP stehen zum
Download zur Verfügung]
http://support.microsoft.com/kb/328912/de

[Office Development with Visual Studio : Common Pitfalls during PIA
Deployment and Installation (Mary Lee)]
http://blogs.msdn.com/vsto/archive/...ation.aspx

[Download details: Office XP Primary Interop Assemblies (PIAs)]
http://www.microsoft.com/downloads/...laylang=en


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen