Closed Bug 1968279 Opened 1 year ago Closed 11 months ago

Firefox install link on new Windows 11 devices

Categories

(Firefox :: Installer, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
143 Branch
Tracking Status
relnote-firefox --- 145+
firefox143 --- fixed

People

(Reporter: cdupuis, Assigned: cdupuis, NeedInfo)

References

(Blocks 1 open bug, Regressed 2 open bugs)

Details

(Whiteboard: [fidedi])

Attachments

(9 files, 1 obsolete file)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

A substantial number of users will upgrade to Windows 11 in a way that leaves no trace of Firefox on their device. To address these cases we can leave an install entry point in their personal files, which will migrate at a higher rate than the app itself. In particular the Documents and Desktop folder are backed up by OneDrive and other cloud storage products, and likely to find their way back onto a new device.

Idea to explore - We add a Firefox shortcut to the desktop today. Can we instead leave a small EXE file that runs Firefox if it’s installed but triggers an install if it’s not?

Assignee: nobody → cdupuis

A substantial number of users will upgrade to Windows 11 in a way that leaves no trace of Firefox on their device. To address these cases we will leave
an install entry point in their personal files, which will migrate at a higher rate than the app itself. In particular, files in the Desktop folder are
backed up by OneDrive and other cloud storage products, and likely to find their way back onto a new device.

This app acts as a replacement for the desktop shortcut to Firefox.

When Firefox is installed on the user's machine, when the user launches this app, it finds the path to Firefox in the appropriate Windows Registry keys
and attemnpts to launch Firefox from that path.

When there is no Firefox installation found, this app will attempt to download and run the Firefox "stub" installer.

As a final fallback, this app will open the Firefox download URL in the default browser.

Jira link:
https://mozilla-hub.atlassian.net/browse/FIDE-2525

Status: NEW → ASSIGNED
Attachment #9490447 - Attachment description: Bug 1968279 - Firefox install link on new Windows 11 devices r=mossop,mpohle,nrishel → Bug 1968279 - Part 1: Firefox install link on new Windows 11 devices r=mossop,mpohle,nrishel

Create installer script to install the device migration tool,
and conditionally enable it at install time.

Also install as a name based on the app name

Attachment #9492280 - Attachment description: WIP: Bug 1968279 - Part 2: Device migration tool installer → Bug 1968279 - Part 2: Device migration tool installer
Attachment #9492748 - Attachment description: WIP: Bug 1968279 - Part 3: Make installation and build of tool a config option → Bug 1968279 - Part 3: Make installation and build of tool a config option
Attachment #9490447 - Attachment description: Bug 1968279 - Part 1: Firefox install link on new Windows 11 devices r=mossop,mpohle,nrishel → WIP: Bug 1968279 - Part 1: Firefox install link on new Windows 11 devices r=mossop,mpohle,nrishel
Attachment #9492280 - Attachment description: Bug 1968279 - Part 2: Device migration tool installer → WIP: Bug 1968279 - Part 2: Device migration tool installer
Attachment #9492748 - Attachment description: Bug 1968279 - Part 3: Make installation and build of tool a config option → WIP: Bug 1968279 - Part 3: Make installation and build of tool a config option

Also enhance the download_file() API to allow for better testability.

Attachment #9490447 - Attachment description: WIP: Bug 1968279 - Part 1: Firefox install link on new Windows 11 devices r=mossop,mpohle,nrishel → Bug 1968279 - Part 1: Firefox install link on new Windows 11 devices r=mossop,mpohle,nrishel
Attachment #9492280 - Attachment description: WIP: Bug 1968279 - Part 2: Device migration tool installer → Bug 1968279 - Part 2: Device migration tool installer r=mossop,mpohle,nrishel
Attachment #9492748 - Attachment description: WIP: Bug 1968279 - Part 3: Make installation and build of tool a config option → Bug 1968279 - Part 3: Make installation and build of tool a config option r=mossop,mpohle,nrishel
Attachment #9493874 - Attachment description: WIP: Bug 1968279 - Part 4: Set up local web server for testing → Bug 1968279 - Part 4: Set up local web server for testing r=mossop,mpohle,nrishel

This also cleans up some assumptions made about registry
key names.

Priority: -- → P3
Attachment #9492748 - Attachment is obsolete: true
Attachment #9493874 - Attachment description: Bug 1968279 - Part 4: Set up local web server for testing r=mossop,mpohle,nrishel → Bug 1968279 - Part 3: Set up local web server for testing r=mossop,mpohle,nrishel
Attachment #9494484 - Attachment description: Bug 1968279 - Part 5: Add handling of non-release versions r=mossop,mpohle,nrishel → Bug 1968279 - Part 4: Add handling of non-release versions r=mossop,mpohle,nrishel
Attachment #9490447 - Attachment description: Bug 1968279 - Part 1: Firefox install link on new Windows 11 devices r=mossop,mpohle,nrishel → Bug 1968279 - Part 1: Firefox desktop launcher / installer r=mossop,mpohle,nrishel
Attachment #9492280 - Attachment description: Bug 1968279 - Part 2: Device migration tool installer r=mossop,mpohle,nrishel → Bug 1968279 - Part 2: Install desktop launcher r=mossop,mpohle,nrishel
Whiteboard: [fidedi]

For better parity with CI builds that use mozharness, ensure that
the path to the appropriate Python executable is set in the
PYTHON environment variable.

Factored out a common.moz.build file to be used for
tests and product code

This is not strictly necessary, since there is still no UI for
this application. But it sets us up for making changes that
require a manifest.

If the command-line flag "/Prompt" is the only flag passed
to the stub installer, it will now ask the user before installing.
Also modified the desktop launcher to pass this flag
when it downloads and runs the stub installer.

Attachment #9501932 - Attachment description: WIP: Bug 1968279 - Part 8: Add a user prompt to the stub installer → Bug 1968279 - Part 8: Add a user prompt to the stub installer

Remove conditional to build and include in the package.

Attachment #9501947 - Attachment description: WIP: Bug 1968279 - Part 9: Build desktop launcher by default → Bug 1968279 - Part 9: Build desktop launcher by default
Pushed by cdupuis@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/75ca7d090ad5 https://hg.mozilla.org/integration/autoland/rev/706125d7e7be Part 1: Firefox desktop launcher / installer r=mossop,nrishel,win-reviewers https://github.com/mozilla-firefox/firefox/commit/2fd65f22ee0d https://hg.mozilla.org/integration/autoland/rev/e32846e6512b Part 2: Install desktop launcher r=nrishel,mossop,browser-installer-reviewers https://github.com/mozilla-firefox/firefox/commit/be9dcefa6650 https://hg.mozilla.org/integration/autoland/rev/2b3dddfa6c51 Part 3: Set up local web server for testing r=mossop,bhearsum https://github.com/mozilla-firefox/firefox/commit/20865a6fba1e https://hg.mozilla.org/integration/autoland/rev/34126dbe33f4 Part 4: Add handling of non-release versions r=mossop,nrishel https://github.com/mozilla-firefox/firefox/commit/d13416d992a8 https://hg.mozilla.org/integration/autoland/rev/43bdc23ee2d4 Part 5: Set PYTHON for mach r=mossop,bhearsum,firefox-build-system-reviewers,ahochheiden https://github.com/mozilla-firefox/firefox/commit/5ecd7bf1b8d2 https://hg.mozilla.org/integration/autoland/rev/fc5f5100f977 Part 6: Need to test on all brandings r=nrishel https://github.com/mozilla-firefox/firefox/commit/fc96b78820e3 https://hg.mozilla.org/integration/autoland/rev/1e6c4a2ee7cb Part 7: Add manifest to desktop installer r=nrishel https://github.com/mozilla-firefox/firefox/commit/2fdc45a739b9 https://hg.mozilla.org/integration/autoland/rev/baffa4f88c17 Part 8: Add a user prompt to the stub installer r=nrishel,browser-installer-reviewers https://github.com/mozilla-firefox/firefox/commit/43674fbc2d89 https://hg.mozilla.org/integration/autoland/rev/65a884f376db Part 9: Build desktop launcher by default r=nrishel
Regressions: 1979195
Pushed by csabou@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/ac197dfb40e5 https://hg.mozilla.org/integration/autoland/rev/b6e18eefa05a Revert "Bug 1968279 - Part 9: Build desktop launcher by default r=nrishel" for causing gtest failures on DesktopLauncherTest

Backed out for causing gtest failures on DesktopLauncherTest

Push with failures

Failure log

Backout link

Flags: needinfo?(cdupuis)

When this landed, it increased the installer size on Windows (non shippable) by 206KB(0.2%)
The subsequent backout brought the size back to baseline.

Attachment #9490447 - Attachment description: Bug 1968279 - Part 1: Firefox desktop launcher / installer r=mossop,mpohle,nrishel → Bug 1968279 - Part 1: Firefox desktop launcher / installer r=mossop,nrishel
Attachment #9492280 - Attachment description: Bug 1968279 - Part 2: Install desktop launcher r=mossop,mpohle,nrishel → Bug 1968279 - Part 2: Install desktop launcher r=nrishel,mossop
Attachment #9493874 - Attachment description: Bug 1968279 - Part 3: Set up local web server for testing r=mossop,mpohle,nrishel → Bug 1968279 - Part 3: Set up local web server for testing r=mossop,bhearsum
Attachment #9494484 - Attachment description: Bug 1968279 - Part 4: Add handling of non-release versions r=mossop,mpohle,nrishel → Bug 1968279 - Part 4: Add handling of non-release versions r=mossop,nrishel
Attachment #9500708 - Attachment description: Bug 1968279 - Part 5: Set PYTHON for mach r=mossop,bhearsum → Bug 1968279 - Part 5: Set PYTHON for mach r=mossop,bhearsum,ahochheiden
Attachment #9501932 - Attachment description: Bug 1968279 - Part 8: Add a user prompt to the stub installer → Bug 1968279 - Part 8: Add a user prompt to the stub installer r=nrishel
Attachment #9501947 - Attachment description: Bug 1968279 - Part 9: Build desktop launcher by default → Bug 1968279 - Part 9: Build desktop launcher by default r=nrishel
Pushed by cdupuis@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/bb6463e5f8bc https://hg.mozilla.org/integration/autoland/rev/f2b7afe747a3 Part 1: Firefox desktop launcher / installer r=mossop,nrishel,win-reviewers https://github.com/mozilla-firefox/firefox/commit/15d958ac18f8 https://hg.mozilla.org/integration/autoland/rev/209df17f647e Part 2: Install desktop launcher r=nrishel,mossop,browser-installer-reviewers https://github.com/mozilla-firefox/firefox/commit/96d9cbe5ec63 https://hg.mozilla.org/integration/autoland/rev/2a8edb9407ce Part 3: Set up local web server for testing r=mossop,bhearsum https://github.com/mozilla-firefox/firefox/commit/bf1edbf4fdb2 https://hg.mozilla.org/integration/autoland/rev/9b0c6df237ac Part 4: Add handling of non-release versions r=mossop,nrishel https://github.com/mozilla-firefox/firefox/commit/f6db7d79c609 https://hg.mozilla.org/integration/autoland/rev/ea2c7a3eeaf6 Part 5: Set PYTHON for mach r=mossop,bhearsum,firefox-build-system-reviewers,ahochheiden https://github.com/mozilla-firefox/firefox/commit/f3876a2da15c https://hg.mozilla.org/integration/autoland/rev/b4caf02bf965 Part 6: Need to test on all brandings r=nrishel https://github.com/mozilla-firefox/firefox/commit/a7f8e07424fe https://hg.mozilla.org/integration/autoland/rev/ace81a8d9917 Part 7: Add manifest to desktop installer r=nrishel https://github.com/mozilla-firefox/firefox/commit/d99c3724ffd6 https://hg.mozilla.org/integration/autoland/rev/e69de4eca6fe Part 8: Add a user prompt to the stub installer r=nrishel,browser-installer-reviewers https://github.com/mozilla-firefox/firefox/commit/625a6b08d84f https://hg.mozilla.org/integration/autoland/rev/63079b4dd5b2 Part 9: Build desktop launcher by default r=nrishel https://github.com/mozilla-firefox/firefox/commit/08dbedd41efb https://hg.mozilla.org/integration/autoland/rev/747e50133b4e apply code formatting via Lando
Regressions: 1979786
Regressions: 1980091
Regressions: 1980312
Regressions: 1981063
Regressions: 1981364
Depends on: 1982323
QA Whiteboard: [qa-triage-done-c144/b143]
Blocks: 1981597
See Also: → 1985160
See Also: → 1985118
Blocks: 1981804
No longer depends on: 1981721
No longer depends on: 1982310, 1982323, 1982333
Regressions: 1982310, 1982323, 1982333

Release Note Request: 145
Why is this notable: A user-visible change to the Firefox desktop shortcut for most Windows users
Affects Firefox for Android: No
Suggested wording: For most Windows users, the existing desktop shortcut for launching Firefox has been replaced with the desktop launcher, a small program that will launch Firefox if it is installed, but if it is not installed will prompt the user to install Firefox. This will provide an easy installation point for Firefox users who acquire a new Windows device, where Firefox will not be installed by default, but the desktop launcher program may have synced via OneDrive or other cloud storage product.
Bugzilla bug: 1968279: "Firefox install link on new Windows 11 devices"
[Links (documentation, blog post, etc)]: SUMO article, https://support.mozilla.org/en-US/kb/firefox-desktop-launcher
Sumo article doc version with pic: https://docs.google.com/document/d/1OswhDissmzKZMaWuTaHbY__jbeggRDp3CM2VQtBew6Y/edit?tab=t.0#heading=h.ylpijdj533xm

relnote-firefox: --- → ?
Regressions: 2000411
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: