Skip to content

#5986 - Add Windows MSI#5987

Merged
reckart merged 1 commit intomainfrom
feature/5986-Add-Windows-MSI
Apr 25, 2026
Merged

#5986 - Add Windows MSI#5987
reckart merged 1 commit intomainfrom
feature/5986-Add-Windows-MSI

Conversation

@reckart
Copy link
Copy Markdown
Member

@reckart reckart commented Apr 25, 2026

What's in the PR

  • Add inception-dist-win module producing an x86_64 Windows MSI installer via jpackage, mirroring the structure of inception-dist-macos (single module, dist-win profile, scripts under src/main/scripts/).
  • Drive jpackage from package-msi.sh with explicit jdk.x86_64.home lookup; native-arch builds fall back to JAVA_HOME, cross-arch builds skip with a warning when no JDK is configured.
  • Strip foreign-platform native binaries (.dylib, .jnilib, .so) from JARs that already contain Windows .dll natives via process-native-libs.sh to slim the bundle; no codesigning step (no Authenticode cert configured).
  • Generate a multi-resolution .ico from the shared icon.png using ImageMagick (magick or convert fallback) in create-ico.sh.
  • Tag the produced MSI with the target arch (INCEpTION-41.0-x86_64.msi) inside the script so multiple builds can coexist; idempotent on re-runs.
  • Configure the installer with --win-dir-chooser, --win-menu, and --win-shortcut for sensible Windows installer UX defaults.
  • Add dist-win profile to the parent reactor exposing the new module.
  • Add dist-win.yml GitHub Actions workflow (manual workflow_dispatch) that runs on windows-latest (WiX + ImageMagick preinstalled), verifies build prerequisites, runs the dist-win Maven build, and uploads the MSI as a workflow artifact.

How to test manually

  • Check if build creates a usable MSI

Automatic testing

  • PR includes unit tests

Documentation

  • PR updates documentation

- Add inception-dist-win module producing an x86_64 Windows MSI installer via jpackage, mirroring the structure of inception-dist-macos (single module, dist-win profile, scripts under src/main/scripts/).
- Drive jpackage from package-msi.sh with explicit jdk.x86_64.home lookup; native-arch builds fall back to JAVA_HOME, cross-arch builds skip with a warning when no JDK is configured.
- Strip foreign-platform native binaries (.dylib, .jnilib, .so) from JARs that already contain Windows .dll natives via process-native-libs.sh to slim the bundle; no codesigning step (no Authenticode cert configured).
- Generate a multi-resolution .ico from the shared icon.png using ImageMagick (magick or convert fallback) in create-ico.sh.
- Tag the produced MSI with the target arch (INCEpTION-41.0-x86_64.msi) inside the script so multiple builds can coexist; idempotent on re-runs.
- Configure the installer with --win-dir-chooser, --win-menu, and --win-shortcut for sensible Windows installer UX defaults.
- Add dist-win profile to the parent reactor exposing the new module.
- Add dist-win.yml GitHub Actions workflow (manual workflow_dispatch) that runs on windows-latest (WiX + ImageMagick preinstalled), verifies build prerequisites, runs the dist-win Maven build, and uploads the MSI as a workflow artifact.
@reckart reckart added this to the 41.0 milestone Apr 25, 2026
@reckart reckart self-assigned this Apr 25, 2026
@reckart reckart added the ⭐️ Enhancement New feature or request label Apr 25, 2026
@reckart reckart added this to Kanban Apr 25, 2026
@github-project-automation github-project-automation Bot moved this to 🔖 To do in Kanban Apr 25, 2026
@reckart reckart merged commit efb3514 into main Apr 25, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from 🔖 To do to 🍹 Done in Kanban Apr 25, 2026
@reckart reckart deleted the feature/5986-Add-Windows-MSI branch April 25, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⭐️ Enhancement New feature or request

Projects

Status: 🍹 Done

Development

Successfully merging this pull request may close these issues.

1 participant