Skip to content

The installer's file types become a Components tree, with a Shortcuts & Right-Click Menu page - #53

Merged
WillTDA merged 3 commits into
masterfrom
installer-pages
Oct 11, 2026
Merged

WillTDA merged 3 commits into
masterfrom
installer-pages

Conversation

@WillTDA

@WillTDA WillTDA commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

The installer's two pages after "Who it's for", and the shortcuts they ask about.

  • Choose File Types is MUI's Components page: a branch per file type group, expanded, with a box per extension and the Open With line above the tree. An update skips it. Its sections only hold the ticks: customInstall reads them. electron-builder's own "install" section is hidden by its index (SectionSetText in customInit), and customInstall has a compile-time !if ${INSTALL_SECTION_ID} != <n> !error, so if electron-builder ever moves that section the build fails instead of shipping a stray box.
  • Shortcuts & Right-Click Menu: "Add a desktop shortcut", "Add a Start menu shortcut" and the right-click entry's box, all ticked. An app without an entry gets "Shortcuts". The choices are kept as KitDesktopShortcut and KitStartMenuShortcut, and the new silent switches are /NODESKTOPSHORTCUT (or --no-desktop-shortcut) and /NOSTARTMENUSHORTCUT.
  • Each shortcut is matched to its box after electron-builder's own: an unticked one is removed, and a ticked one that's missing is made. An update never makes one, so a shortcut the person deleted stays deleted. Without a Start menu shortcut, $launchLink is the exe, so Run and --force-run still start the app.
  • Tick All, Untick All and the page's column limit go; the tree scrolls. A group's name can't start with - or ! (NSIS would hide the branch or make it bold).
  • The demo gains a second group, Data File (json, csv).
  • scripts/capture-installer.ps1 runs the installer and uninstaller with their pages showing, clicks Next with Win32 messages and saves a PNG of each page. Windows CI runs it after check-installer.ps1 and uploads the PNGs as a 3-day artifact.
  • check-installer.ps1 now also checks the shortcuts:
    • a fresh install makes both;
    • the switches remove both, and --updated keeps them gone;
    • with the kept choices removed, a reinstall makes them again;
    • --force-run without a Start menu shortcut starts the app;
    • uninstalling removes both;
    • for everyone, it checks the same in the common Desktop and Start menu.
  • docs/building.md: the pages, the switches, and a note that without a Start menu shortcut Windows doesn't deliver the app's notifications (Electron still reports them as shown).

Checked locally: npm test 256/256. The demo, a 22-type shape and an entry-only shape all compile under makensis -WX, and the capture of each was looked at. check-installer.ps1 passed per user; the install for everyone runs in CI.

…& Right-Click Menu page asks about both shortcuts

- Choose File Types is MUI's Components page: a branch per file type group, expanded, a box per extension,
  the Open With line on top, skipped on an update. electron-builder's "install" section is hidden by its
  index, and the build fails if that index ever moves.
- Shortcuts & Right-Click Menu: "Add a desktop shortcut", "Add a Start menu shortcut" and the right-click
  entry, all ticked ("Shortcuts" for an app without an entry). The choices are kept as KitDesktopShortcut
  and KitStartMenuShortcut; /NODESKTOPSHORTCUT (or --no-desktop-shortcut) and /NOSTARTMENUSHORTCUT choose
  silently. Each shortcut is matched to its box; an update never makes one. Without a Start menu shortcut,
  Run starts the app itself.
- Tick All, Untick All and the page's column limit go. A group's name can't start with - or !.
- The demo gains a second group (Data File: json, csv).
- scripts/capture-installer.ps1 steps through the installer's and uninstaller's pages and saves a PNG of
  each; Windows CI runs it and keeps them 3 days. check-installer.ps1 checks the shortcuts.
… PowerShell 7 as in 5.1, and never clicks a page caught as it changes
@WillTDA
WillTDA merged commit 261b7b3 into master Oct 11, 2026
9 checks passed
@WillTDA
WillTDA deleted the installer-pages branch October 11, 2026 15:17
@WillTDA WillTDA mentioned this pull request Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant