Archives for posts with tag: Windows 2003

We use Persits excellent ASPEmail, ASPJpeg and ASPUpload components, however we found another gotcha with the installation of these components under Windows Server 2003 x64 with IIS running in 32bit mode (see previous post).

Despite uninstalling our previous x64 bit versions of these components, we had issues with the components simply doing “nothing” after a subsequent server restart. Loading pages that made use of any of these server side components simply returned blank values, without any sort of error.

After a bit of digging around, it seems that our uninstalling of the x64 components leaves some stuff in the registry, and in turn causes some sort of conflict with the 32bit versions. So the trick is:

  • In RegEdit, Find the key HKEY_LOCAL_MACHINE\SOFTWARE\Persits Software\ and remove it
  • Uninstall all the components, even if they are 32bit
  • Reboot the server
  • Reinstall the components
  • Reboot the server again

So far everything seems to be working again for us.

After struggling for a week trying to get various 64bit components to run under IIS6 on our new servers, I was banging my head against the wall. Why oh why doesn’t Microsoft make these things easy?

So with a deep breath I tried tackling running IIS in 32bit mode again… and discovered a “gotcha” that probably caused our issues the first time around.

It appears when you run the “fix” that turns 64bit IIS into 32bit, Windows isn’t smart enough to realise “yes I really did mean 32bit” and promptly breaks IIS completely – resulting in the ever so popular “Service not available” message for all your precocious web sites. Why? Well, it seems this is due to the .NET framework running in 64bit, regardless of the fix. Thankfully (!!!!) you can install .NET from the command line with 32bit-ness in place…

  1. To enable 32bit IIS mode run: cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1
  2. Restart IIS (at this point IIS will probably stop serving sites)
  3. Reinstall the .NET framework in 32bit mode: C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i -enable
  4. Restart your server

Very frustrating. We’ve yet to full test this, but we applied the change on our test server and all our sites are working. Tomorrow we’ll add some 32bit components and see what happens…

You’d think that moving from our old servers (Windows 2008) to our new servers (Windows 2003) would be pretty simple, seeing as our code is so old-school. But oh now, Microsoft don’t ship the database drivers for 64bit Windows by default. Joy.

So here’s what you have to do to get MySQL 5.1 working with classic ASP under Windows Server 2003 64bit:

e.g.:

PROVIDER=MSDASQL; DRIVER={MySQL ODBC 5.1 Driver}; SERVER=myserver; DATABASE=mydatabase; USER=mydbuser; PASSWORD=mydbpass; OPTION=3;

You should now be good to go. If you googled and saw posts about getting IIS to run in 32bit mode as a solution… don’t. It’s a world of pain, and when we tried it made our server really unstable.