Skip to content

Update wxs for WiX 5#14

Merged
freakboy3742 merged 21 commits intobeeware:mainfrom
rmartin16:wix4
Jul 9, 2025
Merged

Update wxs for WiX 5#14
freakboy3742 merged 21 commits intobeeware:mainfrom
rmartin16:wix4

Conversation

@rmartin16
Copy link
Member

@rmartin16 rmartin16 commented Jun 4, 2023

Created with wix convert app.wxs

[Remainder added by @mhsmith]

Related PRs:

The most significant changes are connected to scope selection (per-machine vs per-user). This interacts with almost every feature of the installer, and testing revealed several pre-existing bugs, especially when the installer starts up defaulting to per-user scope, and then the user selects per-machine. The solutions I came up with are somewhat awkward, but they're explained in comments as clearly as I can.

briefcase-repo: https://github.com/mhsmith/briefcase.git
briefcase-ref: wix4

PR Checklist:

  • All new features have been tested
  • All new features have been documented
  • I have read the CONTRIBUTING.md file
  • I will abide by the code of conduct

@rmartin16 rmartin16 force-pushed the wix4 branch 4 times, most recently from 9068952 to c0125e3 Compare June 4, 2023 01:08
@mhsmith
Copy link
Member

mhsmith commented Jun 20, 2025

@rmartin16: Do you remember how did you do this conversion? I guess the conversion tool wouldn't accept an XML file with Jinja markup, so did you convert each section separately and then stitch them together?

@rmartin16
Copy link
Member Author

hmm....I can't say I remember specifically. However, I certainly wouldn't have been able to use the template version of the XML as you call out. So, I would have expected that I created a project and ran the tool over the generated XML from the template; from there, I would have created a diff of the input/output XML files and manually applied those differences back to the template.

@mhsmith mhsmith changed the title Update wxs for WiX 4 and set target_version to 0.3.15 Update wxs for WiX 5 Jun 25, 2025
@mhsmith mhsmith mentioned this pull request Jun 25, 2025
4 tasks
Comment on lines -41 to -43
<Upgrade Id="$(var.ProductUpgradeCode)">
<UpgradeVersion
Minimum="$(var.ProductVersion)"
Copy link
Member

Choose a reason for hiding this comment

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

The Upgrade element is no longer required because WiX now handles this by default.

Comment on lines -116 to -118
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate"/>
</InstallExecuteSequence>
Copy link
Member

@mhsmith mhsmith Jul 3, 2025

Choose a reason for hiding this comment

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

The RemoveExistingProducts element is no longer required because WiX now handles this by default.

However, we did need to alter the sequence of FindRelatedProducts below in order for it to react to the configurable install scope. This was a pre-existing bug.

@mhsmith mhsmith marked this pull request as ready for review July 5, 2025 02:11
@mhsmith mhsmith requested a review from freakboy3742 July 5, 2025 02:24
Copy link
Member

@freakboy3742 freakboy3742 left a comment

Choose a reason for hiding this comment

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

These changes all make sense, and you can't argue with success - they all work as advertised (as best as I can make out). Nice work on finding those edge case scoping issues as well.

@freakboy3742 freakboy3742 merged commit f6373da into beeware:main Jul 9, 2025
16 checks passed
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