Closed Bug 311302 Opened 19 years ago Closed 19 years ago

updating from beta1 to beta2ish removes Add/Remove Programs listing for Mozilla Firefox

Categories

(Toolkit :: Application Update, defect)

1.8.0 Branch
x86
Windows XP
defect
Not set
blocker

Tracking

()

VERIFIED FIXED
mozilla1.8final

People

(Reporter: chase, Assigned: darin.moz)

References

Details

(Keywords: verified1.8)

Attachments

(1 file)

In preparation for the beta2 release we have configured a method to test
updating from beta1 to a beta2ish build.

1. Install Firefox 1.5b1 into an empty directory.
2. Verify that the Mozilla Firefox (1.4) entry is listed in the Add/Remove
Programs box.
3. Change Firefox's update channel from beta to betatest.
4. Run 'Check for updates'.  Firefox will attempt to install the partial patch
which will fail (expected) and the complete patch which will succeed.
5. The Add/Remove Programs listing for Mozilla Firefox will now be gone.
Flags: blocking1.8b5?
Nominating for blocking1.8b5.
I can't simply reproduce this by installing a 30 september build (the last 1.5
beta 1) and then updating it. The 1.4 is present in Add/Remove and stays there
even when I update it to the last nightly. I can uninstall it easily.
As I understand it, it is similar to this: Bug 310873.
-> me
Assignee: nobody → darin
Severity: normal → blocker
Status: NEW → ASSIGNED
Target Milestone: --- → Firefox1.5
It seems like nsPostUpdateWin.js can't find update.log properly.  If I set
things up manually, nsPostUpdateWin.js runs as it should.  Investigating...
OK, what's going on here is that in some cases nsUpdateService.js blows away
updates/0 before invoking nsPostUpdateWin.  As a result, nsPostUpdateWin fails
to do what it is intended to do.  An exception is thrown during the registry
processing, which leads to the bogus changes made to the registry.

Patch in hand...
Attached patch v1 patchSplinter Review
OK, here's a patch that appears to do the trick.  To test this patch, I did the
following:

1) Install Firefox 1.5b1
2) Change update channel from "beta" to "betatest"
3) Check for updates.  Try partial, let it fail, and then try complete.
4) Do not restart Firefox to apply complete yet.  Just choose "Later" option
and close Firefox.
5) Now, manually apply the update using these commands:
   $ cp updater.* updates/0
   $ ./updates/0/updater updates/0 0
6) Then replace components/nsPostUpdateWin.js with the patched version.
7) Launch Firefox, and observe that registry is correctly updated.
Attachment #198712 - Flags: review?(benjamin)
Comment on attachment 198712 [details] [diff] [review]
v1 patch

Darin, what are the cases where the updates/0/update.log wouldn't exist? Or,
why not always use the last-update.log ?
Comment on attachment 198712 [details] [diff] [review]
v1 patch

r=me, but I'd still like to understand
Attachment #198712 - Flags: review?(benjamin) → review+
> (From update of attachment 198712 [details] [diff] [review] [edit])
> Darin, what are the cases where the updates/0/update.log wouldn't exist? Or,
> why not always use the last-update.log ?

I wanted to get a safe patch ready ASAP, so I haven't fully traced the code to
understand how this is happening in this case.  But, if you read the code it
would appear that the intention of the code is not to have cleared out updates/0
at this point.  However, there is a code path (in "get activeUpdate" at least)
that can lead to updates/0 being cleared out.  My plan is to trace the code
better today to figure out what is really going on, but I don't want to hold up
the release for it.
fixed-on-trunk
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Comment on attachment 198712 [details] [diff] [review]
v1 patch

I really think we should take this patch for beta2.  Not doing so will leave
people's registries in a bad state that will be difficult to recover from when
they get updated to 1.5rc1
Attachment #198712 - Flags: approval1.8b5?
Flags: blocking1.8b5? → blocking1.8b5+
Attachment #198712 - Flags: approval1.8b5? → approval1.8b5+
fixed1.8
Keywords: fixed1.8
looks fixed on winxpsp2
1. uninstalled 1.4.1
2. installed beta1 (1.4)
3. confirmed 1.4 in add/remove list
4. edited pref to betatest channel
5. updated, got full update, restarted fine
6. after restart am on 10/6 build and 1.4.1 is listed in add/remove.
marking verified.  i also observed that it is fixed.
Status: RESOLVED → VERIFIED
verified on Windows XP using 2005-10-06-14-mozilla1.8/.  Installed the Beta 1
candidate, changed pref to betatest, it found the update, applied it and I moved
to Beta2. Add/Remove entry looks fine. This was also verified by multiple people
in our QA channel.
adding verified keyword
Keywords: fixed1.8verified1.8
Depends on: 331707
Depends on: 326687
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: