-
Notifications
You must be signed in to change notification settings - Fork 10.1k
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
Revised ASP.NET Core module installer for Windows ARM64 #47290
Conversation
Thanks for your PR, @lextm. Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
@@ -309,6 +343,7 @@ | |||
</Row> | |||
</CustomTable> | |||
|
|||
<!-- <?if $(var.Platform) = "x86" OR $(var.Platform) = "x64" ?> --> |
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.
For some unknown reason, this section has to be commented out if compiling on Windows 11 ARM64.
Looks like we're hitting some errors in the new Forwarder project, are you seeing these locally?
|
I don't see the errors locally, but expected something like this. I will dig into the CI log files and see what further changes are needed. |
I was able to reproduce the However, after applying the changes CI still failed and this time I am not familiar with the errors. |
That looks like a transient error, I hit rerun. To be transparent, we're still trying to figure out if we want to take this change. We think the number of customers who use ANCM/IIS on win-arm64 is relatively low, and we may not have the resources on our team to provide support for this new scenario. If you could share some info on how strong your need is for this feature, that would help us come to a decision. |
Closing as we don't plan to take this change at this time. |
Revised ASP.NET Core module installer for Windows ARM64
LoadLibraryEx
withLOAD_LIBRARY_SEARCH_DLL_LOAD_DIR
flag set, so that the pure forwarder works as desired.Fixes #47115.
Description
About the change in
HandlerResolver.cpp
To implement all proposed installer changes in #47115, then in the out-of-process folder three files present,
aspnetcorev2_outofprocess.dll
, an ARM64X pure forwarder.aspnetcorev2_outofprocess_arm64.dll
, the pure ARM64 handler.aspnetcorev2_outofprocess_x64.dll
, the x64 handler.Before this change,
LoadLibrary
only loads the pure forwarder, but then scans the default folders (the dll folder is not included) to load the actual handler which obviously fails.After this change,
LoadLibraryEx
can pick up the correct handler as the dll folder is added in the search folder list.About files in
Forwarders
folderSource code for the two ARM64X pure forwarders.
About changes in
ANCMV2
folderBefore this change, only ARM64 web apps can run on IIS.
After this change, the new file structure enables ARM64/x64/x86 side by side execution on IIS.