win,msi: use x64 node executable when cross-compiling for arm64#34009
Uh oh!
There was an error while loading. Please reload this page.
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.
Builds further on #33689
The last step to successfully create MSI installers for arm64 on a x64 host is to run the
license2rtfscript on the x64 host using a x64 Node executable. Based on @joaocgreis's comment in #33689 (review) I came up with some logic invcbuild.batwhich downloads the latest x64 Node executable if it's not present on the machine yet.A variable called
%x64_node_exe%can be passed by your CI pipeline so that the build machines don't have to download the x64 executable all the time.IMPORTANT: when building an MSI for ARM64, WIX 3.14 or higher is required, as that version includes support for ARM64.
How to test
vcbuild.bat release msi arm64Before applying this PR, the process fails with
Failed to generate license.rtf(because the generatednode.exeis for the arm64 architecture and therefore can't run on the x64 host).After applying this PR, the process finishes successfully.
Refs: #25998
Refs: #32582
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes