我有一个使用 js-ctypes 的本地 Windows DLL 的 Firefox XUL 扩展。
分发此 DLL 文件的推荐方法是什么?
我已经建立了一个开发环境,就像XUL School Tutorial中描述的那样,但我不确定我应该对目录结构和相应的构建文件(Makefile、清单等)进行哪些修改才能拥有我的 DLL包含在 XPI 文件中,然后在客户端使用扩展时可用于 js-ctypes。
任何指针将不胜感激。
问候!
我有一个使用 js-ctypes 的本地 Windows DLL 的 Firefox XUL 扩展。
分发此 DLL 文件的推荐方法是什么?
我已经建立了一个开发环境,就像XUL School Tutorial中描述的那样,但我不确定我应该对目录结构和相应的构建文件(Makefile、清单等)进行哪些修改才能拥有我的 DLL包含在 XPI 文件中,然后在客户端使用扩展时可用于 js-ctypes。
任何指针将不胜感激。
问候!
通常,您只需将 DLL 与其余的东西一起压缩到您的 XPI 中并使用em:unpack=true
,否则您将无法加载您的 DLL。
然后,您可以使用例如附加组件管理器来找出 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);
}
});
顺便说一句:当插件通过代理文件安装以用于开发目的时,这些东西仍然有效。