Windows arm64/x86 installer - #24
Open
quarckster wants to merge 8 commits into
Open
quarckster wants to merge 8 commits into
quarckster wants to merge 8 commits into
Conversation
New ExeBuild_arm64/MsiBuild_arm64 builds (ARM64 package type) from a VC-WIN64-ARM tree, per-architecture features for the arch-suffixed libcrypto/libssl DLLs, and a bundled VC_redist.arm64.exe prerequisite. Tests learn the installer architecture from the artifact name. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ExeBuild_x86/MsiBuild_x86 and their hybridCRT twins from VC-WIN32 trees: x86 package type, 32-bit Program Files, unsuffixed libcrypto/libssl DLL names, bundled VC_redist.x86.exe. Tests get per-arch install root, registry paths and DLL suffix. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Per-architecture FIPS and installer builds, arm64 test entries, and vswhere-based Visual Studio lookup instead of a hard-coded path. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
MD4 does not build on Windows arm64. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…build names On windows-11-arm uv picked an x86_64 CPython, so the tests drove Windows Installer from an emulated process; use the image's native arm64 Python. msiexec now writes a verbose log whose tail is printed on failure. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Arm64 packages must declare schema 500 (Summary Page Count); with 450 msiexec rejects the package with 1620 before running any action. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The ARM64 runtime does not write the DevDiv servicing key, so the test and the arm64 prerequisite search use VisualStudio\14.0\VC\Runtimes\<arch>. EXE installs pass /exelog and /l*v and print both log tails on failure. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
nhorman
approved these changes
Sep 12, 2026
jogme
requested changes
Sep 15, 2026
| <ROW BuildKey="DefaultBuild" BuildName="ExeBuild" BuildOrder="1" BuildType="0" PackageFolder="..\build-target\Installer64" PackageFileName="OpenSSL-x64-VS-[|ProductVersion]" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExeIconPath="resources\logo.ico" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" UseLargeSchema="true" Unicode="true" ExeName="OpenSSL-x64-VS-[|ProductVersion]" MsiPackageType="x64"/> | ||
| <ROW BuildKey="ExeBuild_1" BuildName="ExeBuild_hybrid" BuildOrder="4" BuildType="0" PackageFolder="..\build-target\Installer64" PackageFileName="OpenSSL-x64-hybridCRT-[|ProductVersion]" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExeIconPath="resources\logo.ico" SummInfoMetadata="Page Count:450" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" UseLargeSchema="true" Unicode="true" ExeName="OpenSSL-x64-hybridCRT-[|ProductVersion]" MsiPackageType="x64"/> | ||
| <ROW BuildKey="MsiBuild_1" BuildName="MsiBuild_hybrid" BuildOrder="3" BuildType="0" PackageFolder="..\build-target\Installer64" PackageFileName="OpenSSL-x64-hybridCRT-[|ProductVersion]" Languages="en" InstallationType="4" SummInfoMetadata="Page Count:450" UseLargeSchema="true" Unicode="true" MsiPackageType="x64"/> | ||
| <ROW BuildKey="ExeBuild_arm64" BuildName="ExeBuild_arm64" BuildOrder="5" BuildType="0" PackageFolder="..\build-target\Installer64" PackageFileName="OpenSSL-arm64-VS-[|ProductVersion]" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExeIconPath="resources\logo.ico" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" UseLargeSchema="true" Unicode="true" ExeName="OpenSSL-arm64-VS-[|ProductVersion]" MsiPackageType="Arm64"/> |
Contributor
There was a problem hiding this comment.
this does not add hybrid version. It might be worth considering dropping VS entirely and doing only hybrid with arm
Member
Author
There was a problem hiding this comment.
There is no VC-WIN64-ARM-HYBRIDCRT target in OpenSSL
Windows on ARM64 starts at Windows 10, so the predefined "cannot be installed on Windows 9x/NT 4.0/2000/XP/2003/Vista" conditions and their display-name properties can never fire there. They were copied over with the rest of the x64 build settings; remove them from ExeBuild_arm64, leaving the arm64 packages with the same set MsiBuild_arm64 already had. The 32-bit guard (NoNT) and the bootstrapper guard stay, as on x64. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.