Чтобы обойти эту проблему, мы использовали API AddOnManager вместо InstallTrigger.
Для получения дополнительной информации см. XUL Dev Add-On Manager
Components.utils['import']("resource://gre/modules/AddonManager.jsm");
AddonManager.getInstallForURL(xpi_address, function(addon) {
addon.addListener({
onDownloadStarted: function() {
alert('Download Started');
}
});
addon.addListener({
onDownloadProgress: function() {
var complete_percent = parseInt((100 * (addon.progress/addon.maxProgress)),10);
}
});
addon.addListener({
onDownloadFailed: function() {
alert('Upgrade Failed');
}
});
addon.addListener({
onDownloadEnded: function() {
alert('Download Successful');
}
});
addon.addListener({
onInstallStarted: function() {
alert('Install Started');
}
});
addon.addListener({
onInstallEnded: function() {
alert('Install Successful');
}
});
addon.addListener({
onInstallFailed: function() {
alert('Install Failed');
}
});
addon.install();
}, "application/x-xpinstall");