rem: var nextPage = this._errors.length > 0 ? "errors" : "finished"; 
add: var nextPage = this._errors.length > 0 ? "installerrors" : "finished"; 
context:   onStateChange: function (aIndex, aState, aValue)  {    var strings = document.getElementById("updateStrings");    const nsIXPIProgressDialog = Components.interfaces.nsIXPIProgressDialog;    switch (aState) {    case nsIXPIProgressDialog.DOWNLOAD_START:      var label = strings.getFormattedString("downloadingPrefix", [this._objs[aIndex].name]);      var actionItem = document.getElementById("actionItem");      actionItem.value = label;      break;    case nsIXPIProgressDialog.DOWNLOAD_DONE:    case nsIXPIProgressDialog.INSTALL_START:      var label = strings.getFormattedString("installingPrefix", [this._objs[aIndex].name]);      var actionItem = document.getElementById("actionItem");      actionItem.value = label;      this._installing = true;      break;    case nsIXPIProgressDialog.INSTALL_DONE:      switch (aValue) {      case 999:      case 0:        break;      default:        this._errors.push({ name: this._objs[aIndex].name, error: aValue });      }      break;    case nsIXPIProgressDialog.DIALOG_CLOSE:      this._installing = false;      var nextPage = this._errors.length > 0 ? "errors" : "finished";      document.getElementById("installing").setAttribute("next", nextPage);      document.documentElement.advance();      break;    }  },
meta: 5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5872/152f5827d19dee888db64a7e9b5ac2ea8c39beb0/update.js/buggy/toolkit/mozapps/extensions/content/update.js