We occasionally get reports of UI unresponsiveness immediately following the
download phase of the stub installer. The longest operation that runs on the
main thread during this phase is validating the code signature of the full
installer. This patch moves that work (which is done in a native NSIS plugin)
to a separate thread. Hopefully this helps resolve the hangs.
I've also converted the build files for the plugin from Visual C++ 6 to 2017,
just to avoid the inconvenience of needing to pull up VC6 to build it.
MozReview-Commit-ID: CKje2a8M62i
I'm also adding a "StartMenuShortcut" option as an alias for "StartMenuShortcuts",
because I could not stop leaving off the 's' while testing this patch, so I
figure I'm not the only one making that mistake and getting frustrated.
MozReview-Commit-ID: Fdsc6CTBJr4
The uninstaller was being built as a side-effect of building `setup.exe`. In
Bug 1385227, that was moved from "somewhere" to part of the windows installer
packaging, which happens after the zip and mar are generated. Since the
installer we ship is actually repackaged from the zip[1], we stopped shipping
translated uninstallers.
This changes things around so that the uninstaller gets translated:
- Explicitly build the uninstaller as part of the L10n repack step.
- Use the same logic to build the installer locally as we do to create the ones
we ship.
[1] Except on Thunderbird
Differential Revision: https://phabricator.services.mozilla.com/D672
The uninstaller was being built as a side-effect of building `setup.exe`. In
Bug 1385227, that was moved from "somewhere" to part of the windows installer
packaging, which happens after the zip and mar are generated. Since the
installer we ship is actually repackaged from the zip[1], we stopped shipping
translated uninstallers.
This changes things around so that the uninstaller gets translated:
- Explicitly build the uninstaller as part of the L10n repack step.
- Use the same logic to build the installer locally as we do to create the ones
we ship.
[1] Except on Thunderbird
Differential Revision: https://phabricator.services.mozilla.com/D672
Currently, clicking the close button or otherwise trying to exit the Windows
stub installer always ends up canceling the installation. This patch prompts
the user to either continue or cancel the installation.
MozReview-Commit-ID: 4KMgCcyjTnv
This is not exhaustive technical documentation for every aspect of the installer
code, but it's better than what we had, and it does contain the ping
documentation that this bug was originally asking for.
MozReview-Commit-ID: 5h7UwnAk4Iq
In an attempt to make the code that renames shortcuts during PostUpdate more
reliable, this patch switches to renaming the existing shortcut files instead
of deleting them and creating new ones, removes unused code dealing with icons,
and deduplicates the code by adding a new macro.
MozReview-Commit-ID: EnE2dGrunx2
Fixes a regression from bug 1376597, which caused the stub installer to hang
forever and not respond to the close button if the browser was already running
during the installation.
MozReview-Commit-ID: A1XWGvnlgrS
There are a lot of hacks throughout the build system that just
enable us to make export in branding. Just so that we can then
copy the files from dist/branding into l10ngen.
Copy from the srcdir instead, so that we can remove those hacks
eventually.
MozReview-Commit-ID: DMoOrqZlhcn
Working on the main patch for this bug (part 1), it took me longer than seemed
reasonable to understand how the stub installer progress bar worked and to fit
the new stage into it. So I thought I would take the opportunity to attempt a
refactor and simplify the whole thing.
MozReview-Commit-ID: 9INP1Hgfiuq
There are a lot of hacks throughout the build system that just
enable us to make export in branding. Just so that we can then
copy the files from dist/branding into l10ngen.
Copy from the srcdir instead, so that we can remove those hacks
eventually.
MozReview-Commit-ID: DMoOrqZlhcn
To not merge the en-US language pack, the merge-% steps are in
a conditional function that disables that for en-US. Using a function
here as that's easier than a shell if in the merge rule, and
Makefile conditionals don't get evaluated late enough.
To liberate the l10n builds from settings in the automation,
we move the patch logic from LOCALE_MERGEDIR to REAL_LOCALE_MERGEDIR.
To determine strongly when we're in a repack or building a langpack,
the trick here is to
export IS_LANGUAGE_REPACK
in l10n.mk, and only set that to true in the entry-point rules.
Now, we can use that value in config.mk to define the l10n-specific
rules.
I did the same thing for langpack-%, which allows us to disable
the crashreporter files for language packs, for example.
With that,
make installers-de
just works, if you have localizations checked out.
For a while, we might run l10n-merge twice in automation, but it's really not
optional, so let's just make sure we run it.
MozReview-Commit-ID: 3nr33CKxkBQ