2009-09-12 4 views
3

32 비트 컴퓨터에서 개발 된 Flash10c.ocx를 사용하는 WPF 앱이 있습니다. 내 dev 머신에 ocx를 등록 할 필요가 없었고, 방금 최신 플래시를 설치하고 참조를 추가하고 코딩을 시작했습니다. 64 비트 시스템에서 테스트 할 때 저는 오래된 "Class not registered"를 얻었습니다. 이것은 내가 regsvr the ocx를 필요로한다는 것을 의미한다고 생각합니다. 괜찮아요 그냥 64 비트 시스템에 32 비트 ocx (나는 그것의 32 비트가 C : \ Windows \ System32 \ Macromed에 dev 시스템에있는 것으로 확신합니다)를 복사하여 등록합니까?Windows 7 x64에서 플래시 ocx "클래스가 등록되지 않았습니다"

는 업데이트 :에 regsvr32/i가 함께 오류를 flash10c.ocx "라스가로드 flash10c.ocx 모듈 만의 DllRegisterServer 호출이 오류 코드로 실패 0X80004005"

는 업데이트 2 :이 포기하고 한 결정 32 비트 시스템에서만 Flash를 실행합니다. 누구든지 더 좋은 대답을 갖고 있다면 듣고 싶습니다. 그러나 현재 제안을 답변으로 표시하여 노력에 대한 충분한 크레딧을 제공합니다.

+1

Windows Vista/7의 경우 승격 된 명령 프롬프트를 사용하여 등록해야합니다. –

+0

승격 된 명령 프롬프트는 무엇입니까? – clamp

답변

4

WPF 응용 프로그램이 64 비트로 실행되고 있기 때문에 효과가 없습니다.

.NET 응용 프로그램은 32 비트 또는 64 비트로 실행할 수 있습니다. CLR은 애플리케이션이 실행되는 아키텍처 (이 경우 64 비트)에 앱을 JITing합니다.

이제 64 비트 응용 프로그램에서 32 비트 dll을로드하려고합니다. 이건 불가능 해. 64 비트 프로세스는 64 비트 dll 만로드 할 수 있습니다. 32 비트 프로세스는 32 비트 DLL 만로드 할 수 있습니다. COM 개체 등록에 대한 아무런 조치도 필요하지 않습니다. 누락 된 레지스트리 항목에 대한 질문이 아닙니다.

Adobe Flash는 32 비트 dll로 제공됩니다. Adobe는 64 비트 버전을 제공하지 않습니다.

WPF .NET 응용 프로그램이 32 비트 플래시 DLL을로드하려면 32 비트 프로세스로 실행해야합니다. Visual Studio의 빌드 구성에서 .NET 응용 프로그램을 Any CPU이 아닌 x86 만 대상으로 지정하는 방법이 있습니다. CPU 목표의

을 선택할 수 있습니다

  • 모든 CPU
  • 86
  • 64
  • 아이테니엄

플래시, 그것은 가치가 무엇인지를 들어, 아이테니엄이 없습니다 버전 중 하나입니다.

대상 CPU에 대한 자세한 내용은 StackOverflow: Visual Studio “Any CPU” target을 참조하십시오.

+0

이 질문에 대한 답변을 찾는 사람에게이 말이 맞습니다. 플래시를로드해야하는 경우 CPU 대상을 x86으로 변경합니다. –

+0

안녕하세요, 오늘 저는 Windows 7 이상에서 작업 할 수 있어야하는 프로젝트에 참여하고 있습니다. 이 응용 프로그램은 Windows XP에서 작동합니다. 이 응용 프로그램을 빌드하고 디버깅 할 때 "AxShockwaveFlash.EndInit(); 줄을 실행하는 동안 클래스가 등록되지 않았습니다 (HRESULT의 예외 : 0x80040154 (REGDB_E_CLASSNOTREG)). 내 dev machne에 최신 shockwave 플레이어를 설치했습니다. 내 IDE 구성 mgr : 임의의 CPU로 설정하십시오. 새 DLL로 모든 참조를 복구해야합니까? 또는 클래스를 등록하는 방법이 문제를 해결할 수 있습니다. – Vijayaraghavan

+0

@Pranesh 문제는 IDE 구성 mgr이 모든 CPU로 설정되어 있다는 것입니다. –

3

플래시 설치 프로그램은 32 비트 OS에서만 사용할 수 있습니다. 따라서 64 비트 시스템에 제대로 설치되지 않았습니다. 오류는 ocx를 수동으로 등록해야하지만 성공적으로 등록됩니다. 완전히 다른 질문입니다.

편집 1 : 다른 forum message about Flash on 64-bit Window들 : 여기 Adobe's statement of support for 64-bit systems (아무도이없는이)

편집 2 (난 당신이 64 비트 시스템에서 64 비트 브라우저를 사용하는 가정)입니다.

+1

감사합니다. Ganesh - 브라우저 환경 외부에서 실제로 ocx 컨트롤을 사용하고 있습니다. 그러나 게시물에서 32 비트 앱을 컴파일해야합니다. 또한 상승 된 명령 프롬프트를 사용하려고했지만 위에서 설명한 동일한 오류 메시지가 나타났습니다. –

관련 문제