Laden...

Adobe Reader ActiveX wirft nur unter Win8 64bit ComException: Klasse nicht registriert

Erstellt von pollito vor 10 Jahren Letzter Beitrag vor 10 Jahren 3.763 Views
pollito Themenstarter:in
314 Beiträge seit 2010
vor 10 Jahren

Ich weiß es, das Thema ist alt. Dennoch habe ich eine Frage dazu: Bisher verwendete ich Visual Studio 2010 und alles lief OK – egal ob das Zielsystem 32 oder 64 Bit war. Gleiches während der Entwicklung (bisher Windows 7 32 und 64 Bit). Eingestellte Plattform ist x86

Nun habe ich Visual Studio 2013 auf einem PC mit Windows 8.1 Prof 64 Bit und das Beispiel läuft nicht mehr. Nach der Anweisung

_adobeReader.Show();

kehrt die Anwendung zum Main() zurück unnd zeigt folgende Fehlermeldung an:

Fehlermeldung:
System.Runtime.InteropServices.COMException wurde nicht behandelt.
Message=Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
Source=System.Windows.Forms
ErrorCode=-2147221164
StackTrace:
bei System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
bei System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
bei System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
bei System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
bei System.Windows.Forms.AxHost.CreateInstance()
bei System.Windows.Forms.AxHost.GetOcxCreate()
bei System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
bei System.Windows.Forms.AxHost.CreateHandle()
bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl()
bei System.Windows.Forms.Control.WmShowWindow(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
InnerException:

Klasse nicht registriert? Ich kann mich nicht erinnern, früher irgendwas registriert zu haben. Woran kann der Fehler liegen?

René

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo pollito,

Ich kann mich nicht erinnern, früher irgendwas registriert zu haben.

das Control wird automatisch mit dem kostenfreien Adobe Reader installiert.

aber anscheinend hat das mit der 64bit-Version des ComControls nicht geklappt. Installiere erstmal den Reader neu bzw. führe eine Reparaturinstallation durch, falls es sowas gibt.

herbivore

pollito Themenstarter:in
314 Beiträge seit 2010
vor 10 Jahren

Schönen Dank!

Ich habe den Reader repariert und auch deinstalliert und wieder installiert – leider alles ohne Erfolg.

Ich habe einem Kollegen gebeten, das Projekt bei sich zu testen. Der Kollege hat denselben Rechner als ich (Notebook Lenovo E540). Das Betriebssystem ist ebenfalls dasselbe, so wie auch Visual Studio und sonstige Software wie z. B. der Reader. Das Projekt samt Einstellungen hat er von mir bekommen. Und bei ihm läuft es!

Ich stehe komplett auf dem Schlauch und weiß nicht wirklich weiter.

Woran könnte das Problem liegen? Hat irgendjemand eine Idee oder kennt zumindest das Problem?

Nochmals vielen Dank!

René

pollito Themenstarter:in
314 Beiträge seit 2010
vor 10 Jahren

Diesen Fehler bekomme ich jetzt:

Fehlermeldung:
Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben

Ich weiß nicht mehr, seit wann ich ihn bekomme. Der von mir eingangs beschriebene Fehler taucht nicht mehr auf. Nur dieser hier.

Ich habe gestern einfach zu lange gemacht und zu viel herum experimentiert. Hätte nicht machen dürfen.

Nun wird die Komponente gefunden, aber sie kann nicht verwendet werden. Auf dem PC von meinem Kollegen (gleiche Hardware, gleiche Software) arbeitet die Komponente jedoch einwandfrei.

Keine Ahnung, wo ansetzen. Bin auf eure Hilfe angewiesen.

Hier die gesamte Fehlermeldung:

Fehlermeldung:
Message:
Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben.

Source:
System.Windows.Forms

InnerException:

TargetSite:
System.Object CoCreateInstance(System.Guid ByRef, System.Object, Int32, System.Guid ByRef)

HelpLink:

StackTrace:
bei System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
bei System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
bei System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
bei System.Windows.Forms.AxHost.CreateInstance()
bei System.Windows.Forms.AxHost.GetOcxCreate()
bei System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
bei System.Windows.Forms.AxHost.CreateHandle()
bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl()
bei System.Windows.Forms.Control.ControlCollection.Add(Control value)
bei System.Windows.Forms.Form.ControlCollection.Add(Control value)
bei System.Windows.Forms.Control.set_ParentInternal(Control value)
bei System.Windows.Forms.Control.set_Parent(Control value)
bei ise.frmPDFViewer.frmPDFViewer_Shown(Object sender, EventArgs e) in c:\Daten\Visual Studio 2013\Projects\ISEprint\ISEprint\frmPDFViewer.cs:Zeile 486.

René

pollito Themenstarter:in
314 Beiträge seit 2010
vor 10 Jahren

Durch die Untersuchungen, wo Adobe in der neuen Version XI welche Werte in der Registry speichert, löste sich das Problem quasi von alleine! – Ich bin mir relativ sicher, dass der Reader zumindest einmal etwas aus dem Konfigurationsmenü heraus speichern musste, was wahrscheinlich die Heilung brachte.

In der Kategorie „Internet“ habe ich die drei gesetzten Haken zunächst weggemacht, dann gespeichert, anschließend wieder entfernt und erneut gespeichert. Ich sah auch in der Registry, wie er für jeden Haken einen Eintrag machte und diese wieder entfernte, als ich sie wieder setzte. Wahrscheinlich hat er in anderen Zweigen auch was geschrieben oder gelöscht, was zur Heilung beitrug. Seitdem funktioniert es.

Leider bin ich nicht auf die Idee gekommen, die Registry-Zweige zu speichern, um sie danach mit den geänderten zu vergleichen. Somit habe ich mir die Möglichkeit genommen, den oder die verursachenden Einträge zu ermitteln.

Nichtsdestotrotz bin ich glücklich, dass es jetzt funktioniert.

Einen schönen Dank und frohe Ostern!

René

502 Beiträge seit 2004
vor 10 Jahren

Diesen Fehler bekomme ich jetzt:

Fehlermeldung:
Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben

Das Problem hatte ich (in leicht abgewandelter Form) auch schon - bei mir lag's schlicht und ergreifend daran, dass der Adobe Reader erst einmal "manuell" gestartet werden musste, damit man die EULA abnickt - erst danach ist das COM Objekt nutzbar...

Bart Simpson

Praxis ist wenn alles funktioniert und keiner weiss warum.
Theorie ist wenn man alles weiss, aber nichts funktioniert.

Bei uns wird Theorie und Praxis vereint: Nichts funktioniert und keiner weiss warum...

pollito Themenstarter:in
314 Beiträge seit 2010
vor 10 Jahren

Danke! Das kenne ich. Hatte auch gehabt. Diesmal aber blieb der Fehler solange bestehen, bis ich die beschriebenen Aktionen durchgeführt habe. Ich möchte erst gar nicht daran denken, wie viel Zeit ich damit zerstört habe.

Nochmals vielen Dank!

René