Skip to content

Add MSI installer for company portal#432

Merged
stdavis merged 7 commits into
mainfrom
dev
Jul 15, 2026
Merged

Add MSI installer for company portal#432
stdavis merged 7 commits into
mainfrom
dev

Conversation

@stdavis

@stdavis stdavis commented Jul 15, 2026

Copy link
Copy Markdown
Member

This helps with #413 by adding an MSI installer to the release artifacts. This took a lot of experimenting with the InTune team but it finally seems to be working.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for producing and shipping a Windows MSI installer (WiX) alongside the existing Windows Squirrel installer, to enable distribution via Intune Company Portal (Issue #413). It also refactors the release workflow into reusable composite actions so Windows/macOS build + artifact upload steps are shared across prod/beta releases.

Changes:

  • Add Electron Forge WiX maker configuration and helper version handling to produce an .msi artifact.
  • Introduce a Windows signing hook to serialize signtool invocations and support the new Windows packaging flow.
  • Refactor GitHub Actions release workflow into composite actions (deploy-macos, deploy-windows, upload-release-assets) and update docs/config accordingly.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
scripts/windows-sign-serial-hook.cjs Adds a serializing signing hook for Windows to avoid concurrent signtool/KMS provider conflicts.
forge.config.ts Adds MakerWix, WiX-compliant version derivation, and Squirrel-specific signing hook configuration.
package.json Adds Windows-specific make scripts and the WiX maker dependency; updates version/metadata.
pnpm-lock.yaml Locks new dependencies introduced for WiX/MSI packaging.
pnpm-workspace.yaml Allows building the exe-icon-extractor dependency needed by MSI tooling.
README.md Documents Windows packaging options and WiX prerequisites; cleans up a dependency note.
.github/workflows/release.yml Splits prod/beta release jobs and delegates build/upload logic to composite actions.
.github/actions/deploy-windows/action.yml New composite action to build/sign Windows artifacts and upload them.
.github/actions/deploy-macos/action.yml New composite action to build/sign macOS artifacts and upload them.
.github/actions/upload-release-assets/action.yml New composite action to download artifacts and attach them to the GitHub release.
.github/dependabot.yml Attempts to expand GitHub Actions updates to composite action directories.
.github/ISSUE_TEMPLATE/bug-report.yml Fixes “macOS” casing in the OS dropdown.
.vscode/settings.json Adds project-specific spellings related to the new workflow/signing terminology.
CHANGELOG.md Records the release-candidate history related to MSI/WiX experimentation and fixes.
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/windows-sign-serial-hook.cjs
Comment thread scripts/windows-sign-serial-hook.cjs Outdated
Comment thread forge.config.ts
Comment thread .github/dependabot.yml
Comment thread .github/actions/deploy-windows/action.yml Outdated
Comment thread .github/actions/deploy-macos/action.yml Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@stdavis stdavis enabled auto-merge (rebase) July 15, 2026 20:55
@stdavis stdavis requested a review from acneville July 15, 2026 20:57
@stdavis stdavis enabled auto-merge (rebase) July 15, 2026 21:40
@stdavis stdavis merged commit 6932f94 into main Jul 15, 2026
6 checks passed
@stdavis stdavis deleted the dev branch July 15, 2026 22:05
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.

3 participants