2011-02-06 2 views
1

지난 며칠 동안 내 머리를 긁적 거리며 나도 Google이나 Google이 좋은 해결책을 찾지 못했습니다.네이티브 NPAPI 플러그인이 Firefox Beta 4에 의해로드되지 않았습니다.

Firefox 3.6에서 제대로 작동하는 기본 NPAPI 플러그인이 있습니다. 그것은 단순히 단일 np * .dll로 구성되며 그 밖의 것은 없습니다.

이제 Firefox 4 Beta로 업그레이드 할 예정입니다. install.rdf를 새로운 em : unpack 지시문을 포함하도록 변경했습니다. (XPI는 자동으로 Pre-4에서 압축이 풀렸습니다) 새로운 chrome.manifest에 (지금은) 필요한 'binary-component'문을 추가했습니다. https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_2.0 : 'Gecko 2 이전에는 구성 요소 등록 중에 모든 바이너리 및 JavaScript 구성 요소 파일이로드되고 호출되어 등록하도록 요청했습니다.').

문제는 다음과 같습니다. 플러그인이 다운로드되어 설치되었다고 가정합니다. 그러나 AddOn 관리자에 나타나면 'about : plugins'에 표시되지 않으며 물론 사용할 수 없습니다. 확장 로깅을 사용하는 Firefox를 실행했지만 플러그인과 관련하여 유용한 정보는 없습니다.

기본적으로 나는 도움이 필요합니까?

+0

:-) 해결 ...는 DLL이 플러그인 폴더 안에 실제로있는 경우 FF4 만 NPAPI DLL을로드 것 같습니다 더 관대했다 확장으로? – taxilian

+0

네, 그랬습니다 - np * .dll을 수동으로 플러그인 폴더에 복사했는데 3.6 에서처럼 작동했습니다. 그동안 나는 실제로 최신 파이어 폭스 4 소스를 잡아서 디버그 버전을 컴파일했다. XPI를 통해 설치하는 경우 DLL이로드되지만 XPCOM의 경우에만로드됩니다. 이전에 Firefox 4 이전 버전에서는 자동으로 DLL을로드하고 적절한 NSAPI NP_Initialize/NP_GetEntryPoints를 호출했습니다. 어쩌면 그 기능이 4에서 사라 졌을까요? – mhoffesommer

+0

나는 최악의 경우도 XPCOM DLL을 작성할 수 있다고 추측한다. NPAPI DLL을 적절한 플러그인 디렉토리에 '넣는다'는 것이지만 ... hackisch 같다. :-) – mhoffesommer

답변

2

Phew - 문제의 원인을 찾았습니다 : np * .dll은 XPI 내부의 루트 폴더에 있었지만 플러그인/폴더에는 없었습니다. FF3.6는 대신 플러그인으로 설치하는 경우

문제가 작동합니까