-
Notifications
You must be signed in to change notification settings - Fork 45
WiX: package up the experimental dynamic SDK and the runtime redistributables #456
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
Conversation
The shims are architecture agnostic and should go on the shared disk. Thanks to @etcwilde for pointing this out!
This ads the dynamic library set to the experimental SDK making it relevant for most users.
Add MSMs and MSis for the new experimental runtime. This is needed to distribute the runtime portion of the experimental SDK.
@@ -19,14 +19,20 @@ | |||
|
|||
<ItemGroup Condition=" $(WindowsArchitectures.Contains('i686')) "> | |||
<ProjectReference Include="..\..\rtl\msm\rtlmsm.wixproj" Properties="Platform=x86;ProductArchitecture=x86" BindName="rtl.x86.msm" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit. would be nice to change the existing one to have similar name and folder structure e.g. rtl\legacy\msm\rtl.legacy.msm.wixproj
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I would absolutely be in favour of this change. My reasoning for not doing this is to have it stick out like a sore thumb. This is meant to be removed rapidly - we do not want to continue building the legacy bits because it costs time/money and also taxes developer resources.
<?if $(sys.BUILDARCH) == x64 ?> | ||
<?define RuntimeDirectoryComponentGuidGenerationSeed = "E33B165B-8460-467D-ABCD-27EA8197A3CF" ?> | ||
<?define RuntimeRoot = $(WindowsExperimentalRuntimeX64)?> | ||
<?elseif $(sys.BUILDARCH) == arm64 ?> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit. in most other places, order is arm64, x64, x86
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm going to trust that you got all of the necessary files listed in the windows.wxs
portion of the patch.
I believe that I have, but if anything was missed, it will soon come to light as the next set of changes will start consuming this content. |
This pull request introduces experimental shared and static runtime installer modules for Windows, with supporting build logic and packaging for multiple architectures. The changes add new WiX project files, update build properties, and integrate these new runtimes into the Windows installer and merge module pipelines.
Experimental Runtime Packaging and Build Integration
Added new WiX project and source files for experimental shared runtime (
rtl.shared.lib.wixproj
,rtl.shared.lib.wxs
), merge module (rtl.shared.msm.wixproj
,rtl.shared.msm.wxs
), and MSI installer (rtl.shared.msi.wixproj
,rtl.shared.msi.wxs
), as well as for the static runtime merge module (rtl.static.msm.wixproj
,rtl.static.msm.wxs
). These include component definitions for distributing Swift runtime DLLs and utilities for x86, x64, and ARM64 architectures. [1] [2] [3] [4] [5] [6] [7] [8]Updated
Directory.Build.props
andSideBySideUpgradeStrategy.props
to add new constants and upgrade codes for the experimental runtimes, enabling them to be referenced and versioned appropriately in the build and installer processes. [1] [2] [3]Installer and Build Pipeline Updates
Modified
Directory.Build.targets
to generalize project reference logic and exclude the new runtime modules from unnecessary references, improving build maintainability and reducing redundant dependencies.Integrated the new shared and static runtime merge modules into the main Windows installer (
installer.wixproj
) and platform-specific installer projects (windows.wixproj
), ensuring these experimental runtimes are included for all supported architectures. [1] [2]