Skip to content

WiX: restructure the Windows installer #413

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 24, 2025

Conversation

compnerd
Copy link
Member

This restructures the Windows installer components to the following:

  • bld
  • cli
  • dbg
  • ide
  • rtl

The SDKs for the various platforms have now been removed and replaced
with the new platforms packages. There are currently two of them:

  • android
  • windows

Each one of these platform support packages support a set of
architectures relevant to the OS. The platform MSI installs the shared
view of the platform support, and each architecture slice adds the
support for the specified architecture.

The parameters to the installer build have now been replaced with the
single root path to the toolchain image and a set of paths for the
Windows runtime installations to package. This is critical to resolving
the previous issue with the unified installer build: we would clobber
the paths as there was no android and windows platform differentiation.

The changes removed the need for the variants of the shared library as
all the architectures are now included into a single MSI, simply split
up amongst the CABs.

compnerd and others added 2 commits April 14, 2025 15:29
The import libraries are architecture specific. As we do not currently
merge the import libraries, we embed them into an architecture specific
directory. This adjusts the lookup path as we have started moving the
files rather than copying them. This makes the installer packaging more
strict about expecting the path to the final destination.
This restructures the Windows installer components to the following:
- bld
- cli
- dbg
- ide
- rtl

The SDKs for the various platforms have now been removed and replaced
with the new platforms packages. There are currently two of them:
- android
- windows

Each one of these platform support packages support a set of
architectures relevant to the OS. The platform MSI installs the shared
view of the platform support, and each architecture slice adds the
support for the specified architecture.

The parameters to the installer build have now been replaced with the
single root path to the toolchain image and a set of paths for the
Windows runtime installations to package. This is critical to resolving
the previous issue with the unified installer build: we would clobber
the paths as there was no android and windows platform differentiation.

The changes removed the need for the variants of the shared library as
all the architectures are now included into a single MSI, simply split
up amongst the CABs.
compnerd and others added 2 commits April 21, 2025 16:24
- Correct the case for the XCTest inclusion check
- Correct indentation for DS2 inclusion
- Correct feature names for architecture support
- Correct media IDs for certain architectures
- Correct directories for certain files
- Correct names for certain directories
- `True` is the proper boolean value for the msbuild preprocessor
- `InstallAMD64SDK` is the proper name for the Android x64 SDK condition
@shahmishal shahmishal merged commit 2b83e1c into swiftlang:release/6.2 Apr 24, 2025
@compnerd compnerd deleted the 62-installer branch April 25, 2025 14:52
Steelskin pushed a commit to compnerd/swift-build that referenced this pull request Apr 28, 2025
This updates the packaging steps following
swiftlang/swift-installer-scripts#413

This cherry-picks the following PRs:
* GHA: shuffle the Foundation headers #918
* GHA: shuffle more files for Dispatch, Foundation #935
* Create directory before moving items #936
* GHA: adjust the installer build phases #937
* GHA: enable _Builtin_float on android #942
* Installer: Properly include Android platform #944
* Update Android root folder #943
* Packaging: Set productArchitecture #941
* Android: Update Android platform packaging #940
Steelskin added a commit to compnerd/swift-build that referenced this pull request Apr 29, 2025
This updates the packaging steps following
swiftlang/swift-installer-scripts#413

This cherry-picks the following PRs:
* GHA: shuffle the Foundation headers #918
* GHA: shuffle more files for Dispatch, Foundation #935
* Create directory before moving items #936
* GHA: adjust the installer build phases #937
* GHA: enable _Builtin_float on android #942
* Installer: Properly include Android platform #944
* Update Android root folder #943
* Packaging: Set productArchitecture #941
* Android: Update Android platform packaging #940

Co-authored-by: Saleem Abdulrasool <[email protected]>
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