IIS and Web Servers
64Bit ISAPI Extension works But 32bit version return 404 erro
Gravatar is a globally recognized avatar based on your email address. 64Bit ISAPI Extension works But 32bit version return 404 erro
  Simon White
  All
  Sep 21, 2024 @ 02:21pm

Hi

I built a 64bit ISAPI extension that works perfectly. I decided to convert it to 32bit and then changed the application pool to enable 32bit applications and the ISAPI extension fails to load and I receive a 404 error. If I put it back to 64bits it works perfectly. Is there something more I need to do besides enabling 32bit application in the application pool? I have other 32bit ISAPI extensions running in other application pools and they work perfectly. I am running IIS 10 on Windows Server 2022.

Thanks, Simon

Gravatar is a globally recognized avatar based on your email address. re: 64Bit ISAPI Extension works But 32bit version return 404 erro
  Rick Strahl
  Simon White
  Sep 21, 2024 @ 05:28pm

Most likely you have some code in your ISAPI C++ code that doesn't work in 32 bit. You need to debug your code to see where it's failing.

I have to ask: Why would you put yourself through creating ISAPI extensions at this point? It's such a horrible experience and performance is not significantly better than a .NET based interface which is much easier and safer to build? Even setting aside the need for C++ (if you're good at it), ISAPI is such a pain in the ass to work with...

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: 64Bit ISAPI Extension works But 32bit version return 404 erro
  Simon White
  Rick Strahl
  Sep 23, 2024 @ 08:17am

I use ISAPI because it is very easy to build using Purebasic 32bit or 64bit and I have been doing it for years. I have not used .Net so I know very little about.

Part of the problem turned out to be that the bitness had not been set to 32 in all the config files.

Simon

Gravatar is a globally recognized avatar based on your email address. re: 64Bit ISAPI Extension works But 32bit version return 404 erro
  Rick Strahl
  Simon White
  Sep 23, 2024 @ 08:48am

Got it - I thought I remembered you were using some other technology other than C++. So you're not really using ISAPI, you're using whatever your PureBasic tooling is and it happens that they're building on top of ISAPI (sort of like Web Connection used to build ontop of ISAPI and now ontop of .NET).

Yeah the bloody bitness has often bitten me in the past, but the safest thing typically is to leave it off and let the Application Pool default handle it. I haven't seen it in ages so I think this got relaxed in newer versions of IIS and should only be set if you need to explicitly change the bitness to something other than what you're running the application pool as. I can't imagine a scenario where you'd ever run something different than what the App pool runs, but I suppose it depends on the tool if it's cross compiled for both 32 and 64 bit. I guess .NET automatically switches between the two, our old ISAPI was always 32 bit and only worked in 32 bit.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: 64Bit ISAPI Extension works But 32bit version return 404 erro
  Rick Strahl
  Maria
  Oct 18, 2024 @ 09:00am

Yes the bitness can be a bitch. They Application Pool setting changes the default and so if you have multiple handlers/modules swapping the switch can have an incremental impact, especially for ISAPI/C++/Native extensions.

Mostly a non-issue for .NET handlers (like Web Connection) because .NET automatically works in either 32 or 64 bit.

+++ Rick ---

© 1996-2024