Flash ocx "Klasse nicht registriert" auf Windows 7 x64
Ich habe eine WPF-Anwendung, die verwendet Flash10c.ocx entwickelt, die auf einer 32-bit Maschine. Ich habe nicht zu registrieren die ocx auf meiner dev Maschine, ich habe gerade installiert die neueste flash -, eine Referenz-und begann das Programmieren. Wenn Sie den Test auf einem 64-bit system bekomme ich Ihr altes "Klasse nicht registriert", was denke ich bedeutet, ich muss regsvr ocx. Ist es in Ordnung, kopieren Sie einfach die 32-bit-ocx (ich bin mir ziemlich sicher, dass seine 32-bit-als seine befindet sich in C:\Windows\System32\Macromed auf dem dev-system), um eine 64-bit-system und registrieren?
Update: regsvr32 /i flash10c.ocx-Fehler, "Das Modul flash10c.ocx las geladen, aber der Aufruf DllRegisterServer fehlgeschlagen mit Fehlercode 0 x 80004005"
Update 2: ich habe es aufgegeben und beschloss zu laufen Flash auf 32-bit Systemen nur. Wenn jemand eine bessere Antwort würde ich gerne hören, aber ich bin der Markierung des aktuellen Vorschlag als Antwort zu geben, den Verdienst für die Mühe.
was ist die Eingabeaufforderung mit erhöhten rechten?
InformationsquelleAutor James Cadd | 2009-09-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Grund, warum es nicht funktioniert für Sie ist, dass Ihre WPF-Anwendung läuft als 64-bit.
Ein .NET-Anwendung ist in der Lage zu laufen als 32-bit-oder 64-bit; und die CLR JIT Ihre app auf, was Architektur die Anwendung ausgeführt wird - in diesem Fall 64-bit.
Außer Sie wollen nun Ihre 64-bit-Anwendung zu laden eine 32-bit-dll. Ist dies nicht möglich. Ein 64-bit-Prozess kann nur Last 64-bit-dlls. Ein 32-bit Prozess kann nur laden die 32-bit-dlls. Keine Menge hantieren mit der COM-Objekt-Registrierung wird sich dies ändern; es ist nicht eine Frage der fehlenden registry-Einträge.
Adobe Flash kommt nur als 32-bit-dll. Adobe hat jetzt keine (und wird hoffentlich nie) haben ein 64-bit-version.
Um für die WPF .NET-Anwendung, laden Sie die 32-bit-flash-dll, die es braucht, um ausgeführt werden als 32-bit-Prozess. Es ist ein Weg, in Visual Studio build-Konfiguration, zu zwingen, Ihren .NET-Anwendung, um nur Ziel
x86
eher alsAny CPU
.Die Auswahl der CPU-Ziele sind:
Flash, für was es Wert ist, nicht über eine Itanium-version, entweder.
Sehen StackOverflow: Visual Studio "Any CPU" target weitere Diskussion über target-cpus.
Hi, Heute bin ich beteiligt an einem Projekt, das erfordert, um in der Lage zu arbeiten in windows 7 und höher. diese Anwendung funktioniert in Windows XP. wenn ich erstellen und Debuggen dieser Anwendung bin ich immer eine Ausnahme "Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) während der Ausführung der Zeile AxShockwaveFlash.EndInit(); habe ich installiert, neueste shockwave-player in meinem dev machne. meine IDE-config mgr: setzen Sie auf Jede CPU brauche ich, um wieder zu beleben all die Referenzen, die mit der neuen dll-Datei? oder, wie sich zu registrieren-Klasse? Mir helfen diese zu lösen..
Das problem ist, dass die IDE-config mgr ist auf Jede beliebige CPU.
Boyd, ich habe die gleichen auf x86, immer noch das gleiche Problem bestehen. ich habe auch überprüft codeproject.com/Answers/241493/...
Boyd, ich habe versucht, eine einfache desktop-Anwendung zum Abspielen einer swf-Datei, es funktioniert in meinem XP-system, aber der gleiche code funktioniert nicht in meinem window7(64 bit). Klasse nicht registriert Fehler wirft in der Zeile panel1.Controls.Add(axShockwaveFlash1); hilf mir, dieses Problem zu lösen
InformationsquelleAutor Ian Boyd
Kann der flash-installer ist gedacht nur für 32-bit-OS. Daher ist es nicht richtig installieren auf einem 64-bit-Computer. Der Fehler bedeutet, dass Sie müssen manuell registrieren die ocx-aber wird es erfolgreich registrieren das ist eine ganz andere Frage.
Bearbeiten 1: hier ist Adobe, die die Aussage der Unterstützung für 64-bit-Systeme (es gibt keine) (ich nehme an, Sie sind mit 64-bit browser auf einem 64-bit-Maschine)
Edit 2: ein Weiterer forum Nachricht über Flash auf 64-bit-Windows.
InformationsquelleAutor Ganesh R.