Skip to content

Conversation

Steelskin
Copy link
Contributor

  • MSI properties must be in CAPS_LOCK or they do not work properly.
  • They must be introduced with a default value.
  • Features should default to being installable (Level=1) and the override should set Level to 0 to skip installation of features. This is to prevent issues with uninstallation.

* MSI properties must be in CAPS_LOCK or they do not work properly.
* They must be introduced with a default value.
* Features should default to being installable (`Level=1`) and the
  override should set `Level` to 0 to skip installation of features.
  This is to prevent issues with uninstallation.
@Steelskin
Copy link
Contributor Author

@swift-ci please test

@compnerd
Copy link
Member

compnerd commented Oct 7, 2025

@Steelskin Steelskin marked this pull request as ready for review October 7, 2025 16:54
@Steelskin
Copy link
Contributor Author

The resulting build works "fine" but a missing DLL prevents the installation from being functional. This is fixed in #469.

Copy link
Member

@compnerd compnerd left a comment

Choose a reason for hiding this comment

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

Case correction is the core of the change.

The handling of the levels is related to fixing the uninstall behaviour - the MSI must be invoked with the same property set on uninstall to take effect. We invert the values to get the proper behaviour. Level defaults to 1, and we set the value to 0 for the case where the SDK slice should be skipped.

The default values of the properties seem incorrect - we should default to these enabled.

This also tweaks the installer to also install the corresponding
Experimental SDK on Windows.
@compnerd compnerd merged commit f7c3685 into swiftlang:main Oct 7, 2025
@Steelskin Steelskin deleted the fabrice/fix-msi-properties branch October 7, 2025 17:24
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