Closed Bug 1558320 Opened 5 months ago Closed 4 months ago

Default to overwriting an existing installation of a different architecture

Categories

(Firefox :: Installer, enhancement, P1)

enhancement

Tracking

()

VERIFIED FIXED
Firefox 69
Tracking Status
firefox-esr68 --- verified
firefox69 --- verified

People

(Reporter: mhowell, Assigned: mhowell)

References

Details

Attachments

(1 file)

This is essentially a backout of bug 1120124 (and probably also some other things added since then).

The rationale for bug 1120124 was that it was confusing for a 64-bit install to end up in Program Files (x86), which it is, but there have been two developments since then:

  1. We intentionally created a lot of 64-bit installs in Program Files (x86) via bug 1274659, and decided the confusion was acceptable because it averted a lot of risk.
  2. Per-install profiles have made the consequences much much worse when you accidentally create a second installation without having a very good idea of what you are doing.

So I think we should make the default be what most users are most likely to want, which is to keep a single installation (of each channel) at a time. The installer should overwrite any existing installation on that channel regardless of its architecture.

See Also: → 1557747
Pushed by mhowell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/45e3ee06123d
Stop checking the architecture of any existing installation that we find to replace. r=agashlin
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 69

Comment on attachment 9071357 [details]
Bug 1558320 - Stop checking the architecture of any existing installation that we find to replace. r=agashlin

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: This patch just missed ESR 68, but I'm told by :mkaply that the per-install profiles issue described in comment 0 has been a widespread complaint from ESR users. Uplifting this patch would help mitigate that by making it harder for users to get into states that look like they've lost their profiles.
  • User impact if declined: Confusion about 32-bit to 64-bit upgrade scenarios and the status of profiles, as evidenced by posts to the Firefox and Thunderbird enterprise mailing lists.
  • Fix Landed on Version: 69
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The patch has been through the trains to release with no relevant bugs reported. The nature of the patch is really just removing a feature, and all it does is change how the default install directory is determined, so risk of regressions is low anyway.
  • String or UUID changes made by this patch:
Attachment #9071357 - Flags: approval-mozilla-esr68?

Comment on attachment 9071357 [details]
Bug 1558320 - Stop checking the architecture of any existing installation that we find to replace. r=agashlin

Makes it less likely for users to end up with two separate installs of Firefox when they were simply intending to install over top of the existing one, which can end up looking like dataloss due to profile-per-install. Approved for 68.2esr.

Attachment #9071357 - Flags: approval-mozilla-esr68? → approval-mozilla-esr68+
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

Matt,
Hope I understand correctly: If I have an older version of esr68 installed on whatever default folder: Program Files (x86) or Program Files and now I try to install a new one, no matter what architecture(32 or 64) it should overwrite the version installed previously.

Concrete example: I have esr68 x32 installed on Program Files (x86) and now I want to install an esr68 x64. It should overwrite the existing installation (in the Program Files (x86)).

Can you please confirm?

Flags: needinfo?(mhowell)

Your understanding is correct, yes. After this patch, new installations of any channel that's already installed should default to the directory where that existing installation is, regardless of the version or the architecture. Also release and beta are considered the same channel, so they'll overwrite one another.

Flags: needinfo?(mhowell)

I was able to verify that the installer has overwritten any existing installation on that channel regardless of its architecture.
Tested for Firefox Release version 68 to version 69 on Windows 10 and Windows 7.

For a 32bit installed with default path c:\Program Files (x86):
I updated version using 64bit and the default path c:\Program Files (x86) was updated.

For 64bit installed with default path c:\Program Files:
I updated version using 32bit and the default path c:\Program Files was updated.

Tested for Firefox ESR version 68 on Windows 10

For a 32bit installed with default path c:\Program Files (x86):
I've updated using 64bit for artifact uploaded: target.installer.exe
https://treeherder.mozilla.org/#/jobs?repo=mozilla-esr68&fromchange=7570b77d77bff8413c3a85e2bcd178a79aa19280&selectedJob=270692401
It was installed in the same folder C:\Program Files (x86)
ESR was updated to 68.2.0 64bit - same path c:\Program Files (x86)

For a 64bit installed with default path c:\Program Files:
I've updated using 32bit for artifact uploaded: target.installer.exe
https://treeherder.mozilla.org/#/jobs?repo=mozilla-esr68&fromchange=7570b77d77bff8413c3a85e2bcd178a79aa19280&selectedJob=270692414
It was installed in the same folder C:\Program Files
ESR was updated to 68.2.0 32bit - same path c:\Program Files

Based on previous comments, mark the bug verified.

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triaged]
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.