Skip to content

feat(windows): add per-user/per-machine installation and multilingual support - #541

Open
eduardomozart wants to merge 8 commits into
angryip:masterfrom
eduardomozart:feature/nsi-multiuser-install
Open

eduardomozart wants to merge 8 commits into
angryip:masterfrom
eduardomozart:feature/nsi-multiuser-install

Conversation

@eduardomozart

@eduardomozart eduardomozart commented Sep 28, 2026 •

Copy link
Copy Markdown

Description

This PR updates the Windows NSIS installer to allow users to choose between a per-user installation ("Just for me", which does not require UAC elevation) and a per-machine installation ("For anyone", which prompts for UAC elevation). Closes #540.

image

It leverages the NsisMultiUser plugin to properly handle registry views, uninstaller entries, and dynamic $INSTDIR switching. Additionally, it introduces auto-detected multilingual support for the installer interface, matching the translations already supported by the application.

Changes

  • Added NsisMultiUser as a git submodule in ext/win-installer/NsisMultiUser.
  • Refactored Installer.nsi to use MULTIUSER macros for initialization and uninstallation.
  • Configured !define MULTIUSER_INSTALLMODE_64_BIT 1. Since the win64 gradle task bundles a 64-bit JRE and x86_64 SWT, this ensures the app correctly installs to Program Files instead of Program Files (x86) on per-machine installations.
  • Updated .github/workflows/build.yml to include submodules: recursive in the checkout steps, ensuring the CI runner successfully fetches the NsisMultiUser dependency during the build process.
  • Added 14 new MUI_LANGUAGE macros to the installer (matching the supported locales in Labels.LANGUAGES). The installer will now natively auto-detect the user's OS language and fallback to English when unsupported.

Dependencies & Notes

@eduardomozart eduardomozart changed the title feat(windows): add per-user and per-machine installation support feat(windows): add per-user/per-machine installation and multilingual support Sep 29, 2026

This branch has not been deployed

No deployments
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.

Feature Request: Add user-level installation (no admin rights required)

1 participant