From afcb2ec14069a209f89ea49c3c608d3eb90ab4ff Mon Sep 17 00:00:00 2001 From: Lex Li <425130+lextm@users.noreply.github.com> Date: Sat, 18 Mar 2023 02:39:10 -0400 Subject: [PATCH 1/4] Revised library loading for ARM64X pure forwarder (dotnet#47115) --- .../IIS/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp b/src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp index a1322eaabb32..2c8251642f4c 100644 --- a/src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp +++ b/src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp @@ -109,7 +109,7 @@ HandlerResolver::LoadRequestHandlerAssembly(const IHttpApplication &pApplication LOG_INFOF(L"Loading request handler: '%ls'", handlerDllPath.c_str()); - hRequestHandlerDll = LoadLibrary(handlerDllPath.c_str()); + hRequestHandlerDll = LoadLibraryEx(handlerDllPath.c_str(), 0, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); RETURN_LAST_ERROR_IF_NULL(hRequestHandlerDll); if (preventUnload) From 7650e4969ef01979520207921a4bbf486c79b4bf Mon Sep 17 00:00:00 2001 From: Lex Li Date: Sun, 19 Mar 2023 04:10:45 -0700 Subject: [PATCH 2/4] Revised ARM64 installation folder contents (dotnet#47115). --- .../ANCMV2/AncmV2.wixproj | 4 + .../ANCMV2/aspnetcoremodulev2.wxs | 130 +++++++++++------- .../AspNetCoreModule-Setup/Forwarders/all.cmd | 2 + .../Forwarders/aspnetcorev2_arm64.def | 2 + .../aspnetcorev2_outofprocess_arm64.def | 2 + .../aspnetcorev2_outofprocess_x64.def | 2 + .../Forwarders/aspnetcorev2_x64.def | 2 + .../Forwarders/build.cmd | 18 +++ .../Forwarders/build.proj | 22 +++ .../Forwarders/empty.cpp | 0 10 files changed, 137 insertions(+), 47 deletions(-) create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/all.cmd create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/aspnetcorev2_arm64.def create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/aspnetcorev2_outofprocess_arm64.def create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/aspnetcorev2_outofprocess_x64.def create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/aspnetcorev2_x64.def create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.proj create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/empty.cpp diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj index bfae51ff3fa7..cd21a0573422 100644 --- a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj +++ b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj @@ -81,4 +81,8 @@ '$(PackageIconFullPath)' ^ '$(PackageLicenseExpression)' " /> + + + + diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/aspnetcoremodulev2.wxs b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/aspnetcoremodulev2.wxs index 471f789666d1..71c0448ea178 100644 --- a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/aspnetcoremodulev2.wxs +++ b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/aspnetcoremodulev2.wxs @@ -144,6 +144,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -216,64 +284,26 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + + + + @@ -297,7 +327,11 @@ AspNetCoreModuleV2 + AspNetCoreModuleV2Dll + + AspNetCoreModuleV2Dll.forwarder + @@ -309,6 +343,7 @@ + WWW Server @@ -319,6 +354,7 @@ AspNetCoreModuleV2 + + + 17.0 + aspnetcorev2 + 10.0 + v143 + Unicode + false + + + + $(ArtifactsObjDir)\AspNetCoreModuleForwarders + $(ArtifactsBinDir)\AspNetCoreModuleForwarders + + + + "$(DevEnvDir)\..\Tools\VsDevCmd" + + + + + diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/empty.cpp b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/empty.cpp new file mode 100644 index 000000000000..e69de29bb2d1 From c7f3f7631cdd3718761cc6446f3e5f2cf686b032 Mon Sep 17 00:00:00 2001 From: Lex Li <425130+lextm@users.noreply.github.com> Date: Sun, 19 Mar 2023 18:39:38 -0400 Subject: [PATCH 3/4] Ensure temp folders exist. --- .../Windows/AspNetCoreModule-Setup/Forwarders/build.cmd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd index 4ebe5546a9e1..79257d0c15d9 100644 --- a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd +++ b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd @@ -1,6 +1,9 @@ SET objDir=%1 SET binDir=%2 +mkdir %objDir% +mkdir %binDir% + cl /c /Fo%objDir%\aspnetcorev2_arm64.obj empty.cpp cl /c /arm64EC /Fo%objDir%\aspnetcorev2_x64.obj empty.cpp From 7b9878a3e9f81d53846c4910f5eb8d79e1145da3 Mon Sep 17 00:00:00 2001 From: Lex Li Date: Tue, 21 Mar 2023 03:33:59 -0700 Subject: [PATCH 4/4] Fixed CI build errors. --- .../ANCMV2/AncmV2.wixproj | 2 +- .../AspNetCoreModule-Setup/Forwarders/all.cmd | 2 +- .../Forwarders/build.cmd | 21 ++++++++----------- .../Forwarders/build.proj | 6 ++++-- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj index cd21a0573422..f51cf66196e7 100644 --- a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj +++ b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj @@ -82,7 +82,7 @@ '$(PackageLicenseExpression)' " /> - + diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/all.cmd b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/all.cmd index ce5d28bd4c21..b9152822828e 100644 --- a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/all.cmd +++ b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/all.cmd @@ -1,2 +1,2 @@ -call %1 -host_arch=x64 -arch=arm64 +call %1 -host_arch=x64 -arch=arm64 -no_logo call build.cmd %2 %3 diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd index 79257d0c15d9..3fc10c7d8ae1 100644 --- a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd +++ b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.cmd @@ -1,21 +1,18 @@ SET objDir=%1 SET binDir=%2 -mkdir %objDir% -mkdir %binDir% +cl /nologo /c /Fo%objDir%\aspnetcorev2_arm64.obj empty.cpp +cl /nologo /c /arm64EC /Fo%objDir%\aspnetcorev2_x64.obj empty.cpp -cl /c /Fo%objDir%\aspnetcorev2_arm64.obj empty.cpp -cl /c /arm64EC /Fo%objDir%\aspnetcorev2_x64.obj empty.cpp +link /lib /nologo /machine:arm64 /def:aspnetcorev2_arm64.def /out:%objDir%\aspnetcorev2_arm64.lib +link /lib /nologo /machine:x64 /def:aspnetcorev2_x64.def /out:%objDir%\aspnetcorev2_x64.lib -link /lib /machine:arm64 /def:aspnetcorev2_arm64.def /out:%objDir%\aspnetcorev2_arm64.lib -link /lib /machine:x64 /def:aspnetcorev2_x64.def /out:%objDir%\aspnetcorev2_x64.lib +link /dll /nologo /noentry /machine:arm64x /defArm64Native:aspnetcorev2_arm64.def /def:aspnetcorev2_x64.def %objDir%\aspnetcorev2_arm64.obj %objDir%\aspnetcorev2_x64.obj /out:%binDir%\aspnetcorev2.dll %objDir%\aspnetcorev2_arm64.lib %objDir%\aspnetcorev2_x64.lib -link /dll /noentry /machine:arm64x /defArm64Native:aspnetcorev2_arm64.def /def:aspnetcorev2_x64.def %objDir%\aspnetcorev2_arm64.obj %objDir%\aspnetcorev2_x64.obj /out:%binDir%\aspnetcorev2.dll %objDir%\aspnetcorev2_arm64.lib %objDir%\aspnetcorev2_x64.lib +cl /nologo /nologo /c /Fo%objDir%\aspnetcorev2_outofprocess_arm64.obj empty.cpp +cl /nologo /nologo /c /arm64EC /Fo%objDir%\aspnetcorev2_outofprocess_x64.obj empty.cpp -cl /c /Fo%objDir%\aspnetcorev2_outofprocess_arm64.obj empty.cpp -cl /c /arm64EC /Fo%objDir%\aspnetcorev2_outofprocess_x64.obj empty.cpp - -link /lib /machine:arm64 /def:aspnetcorev2_outofprocess_arm64.def /out:%objDir%\aspnetcorev2_outofprocess_arm64.lib +link /lib /nologo /machine:arm64 /def:aspnetcorev2_outofprocess_arm64.def /out:%objDir%\aspnetcorev2_outofprocess_arm64.lib link /lib /machine:x64 /def:aspnetcorev2_outofprocess_x64.def /out:%objDir%\aspnetcorev2_outofprocess_x64.lib -link /dll /noentry /machine:arm64x /defArm64Native:aspnetcorev2_outofprocess_arm64.def /def:aspnetcorev2_outofprocess_x64.def %objDir%\aspnetcorev2_outofprocess_arm64.obj %objDir%\aspnetcorev2_outofprocess_x64.obj /out:%binDir%\aspnetcorev2_outofprocess.dll %objDir%\aspnetcorev2_outofprocess_arm64.lib %objDir%\aspnetcorev2_outofprocess_x64.lib +link /dll /nologo /noentry /machine:arm64x /defArm64Native:aspnetcorev2_outofprocess_arm64.def /def:aspnetcorev2_outofprocess_x64.def %objDir%\aspnetcorev2_outofprocess_arm64.obj %objDir%\aspnetcorev2_outofprocess_x64.obj /out:%binDir%\aspnetcorev2_outofprocess.dll %objDir%\aspnetcorev2_outofprocess_arm64.lib %objDir%\aspnetcorev2_outofprocess_x64.lib diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.proj b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.proj index e25c1576ee14..9dd797b17129 100644 --- a/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.proj +++ b/src/Installers/Windows/AspNetCoreModule-Setup/Forwarders/build.proj @@ -14,9 +14,11 @@ - "$(DevEnvDir)\..\Tools\VsDevCmd" + "$(VSInstallDir)Common7\Tools\VsDevCmd" - + + +