2013-10-17 3 views
2

js-ctypes를 사용하여 기본 Windows DLL을 사용하는 Firefox XUL 확장이 있습니다.XUL Firefox 확장자 내에서 js-ctypes와 함께 사용할 기본 Windows DLL을 배포하는 방법

이 DLL 파일을 배포하는 데 권장되는 방법은 무엇입니까?

XUL School Tutorial에 설명 된 것과 같은 개발 환경을 설정했지만 디렉토리 구조와 해당 빌드 파일 (Makefile, Manifest 등)을 수정해야하는지 잘 모르겠습니다. 내 DLL은 XPI 파일에 포함 된 다음 클라이언트가 확장 프로그램을 사용할 때 js-ctypes에서 사용할 수 있습니다.

모든 포인터가 크게 감사하겠습니다.

감사합니다.

답변

2

보통 나머지 DLL을 XPI에 압축하고 em:unpack=true을 사용하면 DLL을로드 할 수 없습니다.

그런 다음 예를 들어 Add-on Manager을 사용하여 DLL이 실제로 사용자 시스템에 설치되어 있는지 확인하고 js-ctypes로로드하십시오.

Components.utils.import("resource://gre/modules/AddonManager.jsm"); 

AddonManager.getAddonByID(YOUR_ADDON_ID, function(addon) { 
    //var uri = addon.getResourceURI(YOUR_RELATIVE_PATH_TO_THE_DLL); 
    var uri = addon.getResourceURI("install.rdf"); 
    console.log("uri", uri.spec); 
    if (uri instanceof Components.interfaces.nsIFileURL) { 
     var file = uri.file; 
     console.log("path", file.path); 
    } 
}); 

은 BTW : 부가 기능은 개발 목적으로 proxy file를 통해 설치할 때이 물건은 여전히 ​​작동합니다.