更新XULRunner应用程序中的扩展

时间:2012-08-21 13:30:51

标签: xul xulrunner

当应用程序启动时,XUL应用程序中的扩展是否可以自动更新到更新的版本?我想弄清楚这一点。如果可能的话,我会非常感激,如果有人能指出我有关此的好文件,因为我在互联网上找不到关于这个主题的任何好文章。

1 个答案:

答案 0 :(得分:1)

XULRunner具有与Firefox内置相同的扩展更新机制 - 它将在应用程序运行时每天查找一次扩展更新。如果它找到更新,那么它将立即更新无重启的扩展,下载其他扩展并在下一个应用程序启动时更新。您必须确保为您的应用程序定义了以下首选项(从Firefox首选项复制):

pref("extensions.update.autoUpdateDefault", true);
pref("extensions.update.enabled", true);
pref("extensions.update.interval", 86400);
pref("extensions.update.url", "...");
pref("extensions.update.background.url", "...");

棘手的部分是更新网址。当然,您可以使用与Firefox相同的URL:

  

https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%

     

https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%

这适用于addons.mozilla.org上可用的扩展程序。但是,我怀疑您的应用程序的扩展程序将无法在那里使用。那你有两个选择。您可以在此处输入一些虚拟网址,例如data:text/xml,<nada/>,以使加载项管理器保持安静,并确保所有扩展程序都有custom updateURL。或者,您可以运行自己的更新服务器,为所有已知扩展(基本上是addons.mozilla.org正在执行的操作)生成update manifests