Add Windows MSI installer to releases - #74
Merged
Merged
Conversation
Builds a dual-purpose (per-user or per-machine) MSI with WiX Toolset from the win-x64 binary, adds the install folder to the user or system PATH, smoke-tests both install scopes, and attaches the MSI to GitHub releases.
XtremeOwnageDotCom
force-pushed
the
claude/windows-msi-installer-qptl34
branch
from
October 1, 2026 14:15
4a6cb0b to
ff5d540
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by XtremeOwnageDotCom · project thread
Before: Windows users got a bare
netdocs.exe(or the PowerShell script) and had to put it onPATHthemselves.After: each release also carries
netdocs-<version>-win-x64.msi. Running it offers Just for you (no admin, installs under%LOCALAPPDATA%, adds to the userPATH) or Everyone (elevated, installs under Program Files, adds to the systemPATH). Silent installs:msiexec /i … /qn(per-user) or… /qn ALLUSERS=1(per-machine). Uninstall removes the binary and thePATHentry.How: a new
msijob inpackages.ymlruns onwindows-latestafter the existing job, takes the published win-x64 binary from its artifact, and buildspackaging/msi/Netdocs.wxswith WiX Toolset 6.0.2 (pinned below v7, which requires an explicit EULA acceptance). The package usesScope="perUserOrMachine"with theWixUI_Advanceddialog set; two conditioned components write thePATHentry to the user or system environment depending onALLUSERS. The license page is rendered fromLICENSEat build time. The job installs, runsnetdocs --version, and uninstalls in both scopes as a smoke test, then attaches the MSI to the release on tags. The workflow now also runs (without publishing) on PRs touchingpackaging/**or the workflow, so this is exercised here. Docs and README updated.