Skip to content

Fix MSI version display bugs - #6

Merged
Malcolmnixon merged 1 commit into
mainfrom
fix/msi-version-display
Sep 7, 2026
Merged

Malcolmnixon merged 1 commit into
mainfrom
fix/msi-version-display

Conversation

@Malcolmnixon

Copy link
Copy Markdown
Member

Problem

Two bugs reported after installing a real 0.1.0-beta.1 MSI:

  1. Add/Remove Programs shows the app version as "0.1.0" instead of "0.1.0-beta.1".
  2. The installed app itself reports its own version as "0.0.0" instead of the release version.

Root cause

  1. \Package.wxs's \Package/@Version\ must be the ICE24-mandated numeric-only \ProductVersion\ (pre-release suffix stripped). There was no \ARPDISPLAYVERSION\ override, so Windows used the stripped version for the ARP UI.
  2. The wixproj's isolated nested \dotnet publish\ (which builds the exe embedded in the MSI) never passed -p:Version=..., so the embedded exe fell back to the csproj's hardcoded default \

- Add ARPDISPLAYVERSION property set to the full semver
  (MsiPackageVersion) so Windows Add/Remove Programs shows e.g.
  '0.1.0-beta.1' instead of the ICE24-stripped numeric-only
  ProductVersion ('0.1.0').
- Pass -p:Version=$(MsiPackageVersion) to the isolated nested
  'dotnet publish' Exec command in the wixproj so the exe embedded
  in the MSI is actually stamped with the release version instead
  of falling back to the csproj's hardcoded default (0.0.0).
- Expose MsiPackageVersion as a WiX preprocessor variable alongside
  ProductVersion via DefineConstants.

Verified locally: built the MSI with ProductVersion=0.1.0 and
MsiPackageVersion=0.1.0-beta.1, confirmed the embedded exe reports
ProductVersion 0.1.0-beta.1+<sha> and the MSI's ARPDISPLAYVERSION
property is 0.1.0-beta.1.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 7, 2026 19:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The changes are small, internally consistent, and directly address the stated MSI version display/root-cause issues without introducing risky behavior.

Pull request overview

This PR fixes MSI version reporting so Windows “Add/Remove Programs” shows the full SemVer (including prerelease suffix) and the installed app binary embedded in the MSI reports the correct release version instead of the csproj default.

Changes:

  • Add ARPDISPLAYVERSION to the WiX package so ARP UI displays the full $(MsiPackageVersion) rather than the ICE24-stripped ProductVersion.
  • Expose both ProductVersion and MsiPackageVersion to Package.wxs via DefineConstants.
  • Pass -p:Version=$(MsiPackageVersion) into the isolated dotnet publish so the embedded EXE carries the intended version.
File summaries
File Description
src/DemaConsulting.AgentControl.Msi/Package.wxs Sets ARPDISPLAYVERSION to ensure ARP displays the full SemVer string.
src/DemaConsulting.AgentControl.Msi/DemaConsulting.AgentControl.Msi.wixproj Plumbs MsiPackageVersion into WiX constants and into the nested publish to stamp the app binary version.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@Malcolmnixon
Malcolmnixon merged commit c622c91 into main Sep 7, 2026
8 checks passed
@Malcolmnixon
Malcolmnixon deleted the fix/msi-version-display branch September 7, 2026 19:17
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.

2 participants