Skip to content

Installer: replace confusing mount prompt with radio dialog#2012

Open
tyrielv wants to merge 1 commit into
microsoft:masterfrom
tyrielv:tyrielv/fix-stageifmounted-prompt
Open

Installer: replace confusing mount prompt with radio dialog#2012
tyrielv wants to merge 1 commit into
microsoft:masterfrom
tyrielv:tyrielv/fix-stageifmounted-prompt

Conversation

@tyrielv

@tyrielv tyrielv commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Summary

The Yes/No/Cancel prompt shown by Setup.iss when mounted repos are detected during install is confusing — the Yes button means "keep repos mounted" (the less-common, advanced staging case), which inverts user expectations and requires reading the message body carefully to map button semantics to outcomes.

This PR replaces the MsgBox(MB_YESNOCANCEL) with a custom modal containing two radio buttons and Continue / Cancel.

Before

Before — confusing Yes/No prompt

After

After — radio dialog with Continue/Cancel

Behavior

Choice Effect
Remount repos as part of the installation (default) Unmounts repos, runs the normal clean upgrade, repos are temporarily unavailable. Equivalent to the previous No answer.
Keep repos mounted Stages the upgrade into {app}\PendingUpgrade\ and completes automatically once all repos unmount or at next reboot. Equivalent to the previous Yes answer.
Cancel Aborts the install with Installation cancelled. Equivalent to the previous Cancel.

Silent-mode behavior is unchanged: STAGEIFMOUNTED=true|false is still honored when WizardSilent() is true.

Testing

  • ISCC 6.7.0 verifies the script compiles.
  • Built SetupGVFS.0.2.26160.18467.exe locally and confirmed the new dialog renders correctly with two mounted repos.

Notes

  • Implemented as a TForm (Delphi base class), not TSetupForm, because TSetupForm requires a registered DFM resource that fails to load at runtime in Pascal script context.
  • The screenshots above live on an orphan pr-assets branch in the fork so binary assets do not bloat the main repository history.

The Yes/No/Cancel MsgBox shown when mounted repos are detected during
install was confusing -- the Yes option meant "keep repos mounted"
(the less-common, advanced staging case), which inverted user
expectations and required reading the message body carefully to map
button semantics to outcomes.

Replace it with a custom modal containing two radio buttons and
Continue/Cancel:

  (*) Remount repos as part of the installation
      They will be temporarily unavailable.
  ( ) Keep repos mounted
      The upgrade will complete automatically when all repos are
      unmounted, or at next reboot.

The remount option is selected by default, matching the previous IDYES
default's intent (proceed with the common path).

Silent-mode STAGEIFMOUNTED=true|false behavior is unchanged.

Assisted-by: Claude Opus 4.7
Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
@tyrielv tyrielv marked this pull request as ready for review June 9, 2026 18:01
@tyrielv tyrielv enabled auto-merge June 9, 2026 18:01
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