  var updateUninstallFile = getFile(KEY_APPDIR); updateUninstallFile.append("uninstall"); updateUninstallFile.append("uninstall.update"); if (updateUninstallFile.exists()) { LOG("nothing to do, uninstall.log has already been updated"); return; }  
  run: function() {    try {      installLogWriter = new InstallLogWriter();      try {        installLogWriter.begin();      } finally {        installLogWriter.end();        installLogWriter = null;      }    } catch (e) {      LOG(e);    }         var app =      Components.classes["@mozilla.org/xre/app-info;1"].        getService(Components.interfaces.nsIXULAppInfo).        QueryInterface(Components.interfaces.nsIXULRuntime);    var sbs =      Components.classes["@mozilla.org/intl/stringbundle;1"].      getService(Components.interfaces.nsIStringBundleService);    var brandBundle = sbs.createBundle(URI_BRAND_PROPERTIES);    var vendorShortName = brandBundle.GetStringFromName("vendorShortName");    var brandFullName = brandBundle.GetStringFromName("brandFullName");    if (!gCopiedLog &&         !checkRegistry() &&        !checkOldInstall(RegKey.prototype.ROOT_KEY_LOCAL_MACHINE,                          vendorShortName, brandFullName, app.version) &&        !checkOldInstall(RegKey.prototype.ROOT_KEY_CURRENT_USER,                          vendorShortName, brandFullName, app.version)) {      LOG("nothing to do, so don't launch the helper");      return;    }    try {      var winAppHelper =         app.QueryInterface(Components.interfaces.nsIWinAppHelper);      // note, gCopiedLog could be null      if (gCopiedLog)        LOG("calling postUpdate with: " + gCopiedLog.path);      else        LOG("calling postUpdate without a log");      winAppHelper.postUpdate(gCopiedLog);    } catch (e) {      LOG("failed to launch the helper to do the post update cleanup: " + e);     }  }
5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5872/f30a5ccefa02ac98f650717ae42d1b415db61052/nsPostUpdateWin.js/clean/toolkit/mozapps/update/src/nsPostUpdateWin.js