| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
@nodejs/platform-windows |
Sorry, something went wrong.
|
@dennisameling thanks for opening this PR and moving ARM64 support forward! The approach here generally LGTM. We have WiX 3.11 in the machines that build Node, we get it from https://chocolatey.org/packages/wixtoolset. To move forward with ARM64 support I'll have to look into the best way to overcome this, but for now, since ARM64 is experimental, this does not block this PR unless there is some conflict with WiX 3.11 when building the supported architectures. These files have been in place for a while, and for big changes we should test upgrade scenarios. To avoid that, I'd be more confident landing this if you could remove the unrelated changes you mentioned above, if building still works. Minor nit, there's a change in the last line of the proj files that would be good to remove as well. We need to start a test build of the final version of this before landing, to ensure there are no regressions with the current release system. |
Sorry, something went wrong.
|
@joaocgreis thanks for the feedback! Will update the PR in the coming days 😊 |
Sorry, something went wrong.
|
@joaocgreis PR updated, deleted unrelated changes. The MSI build and installation still work as expected, so that's good 😊 I don't expect this to cause any issues with WiX 3.11 and the existing build process, because it should only try to find WiX's ARM64 files when an ARM64 build is explicitly requested. If you could start a test build of the final version that'd be fantastic, I'm curious if it will work as expected. One last thing I'm not sure about, is the license.rtf, like I mentioned in the description of the PR. That's these lines in the vcbuild.bat. If an ARM64 build is created on a x64 host, the x64 host will try to run the ARM64 node.exe it just compiled, which doesn't work of course. One thing I could think of, is to add logic that checks if "%target_arch%"=="arm64", then downloads https://nodejs.org/dist/latest/win-x64/node.exe and runs tools\license2rtf.js using that x64 executable. How does that sound? Happy to add it to the vcbuild.bat if you're OK with that |
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks!
Test build completed successfully: https://nodejs.org/download/test/v15.0.0-test20200608f03c158f25/
About the changes in vcbuild, I'd rather leave that for another PR and land this PR as is. For node-chakracore, I once did nodejs/node-chakracore@efeaf88. Having a way to automatically download the latest node.exe would be good, but we need to make it very hard for that executable to be used unintentionally in the tests. So, download to a new subdirectory (to be added to .gitignore) and possibly rename the file. We still need a way like in the commit above to pass a variable and not download, so that the CI machines don't have to download every time. Something like this would go very well with our CI/release system:
if not defined native_node_exe set "native_node_exe=%~dp0native-bin\native-node.exe" if not exist "%native_node_exe%" DOWNLOAD
Sorry, something went wrong.
Sorry, something went wrong.
|
The parallel/test-fs-stream-construct is failing constantly on ARM64, not related to this PR. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Adds configuration to allow building an MSI installer for Windows ARM64.
MSI can be created by running vcbuild.bat release msi arm64
IMPORTANT: when building an MSI for ARM64, WIX 3.14 or higher is required, as that version includes support for ARM64.
I created a test release with a ZIP and MSI for Windows ARM64: https://github.com/dennisameling/node/releases/tag/15-arm64win
I only got Failed to generate license.rtf because the generated node.exe file is an ARM64 exe which can't be executed on a x64 host. When I skipped that part, the build was packaged successfully. We could try to find a solution for this either in this PR or in another PR.
Refs: #25998
Refs: #32582
Checklist