Question

I have a website that is build in classic ASP using Microsoft access databases (MDB). I setup the site to run on a windows 7 64-bit machine. When I added the site to IIS, I chose a .net 2.0 app pool. This pool was setup using classic pipeline and 32-bit application support turned on. This worked fine.

Now I'm adding a search function to the site. I'm leveraging the windows indexing service and querying the catalog using asp. When I add the search function as a new application, I told it to use a 64 bit app pool. For whatever reason the search function does not seem to be correctly using the specified 64-bit app pool.

If I turn open the 32 bit app pool I specified for the main site and turn off support for 32-bit applications, search works but since there are no 64 bit jet drivers (MDB) Access queries fail.

How do I get IIS to use different app pools with different bitness for a main site and an application added to that site as a subdirectory?

I thought about converting the mbd databases to accdb since there are 64 bit drivers for accdb. At present, I can't do that because our current hosting company is running the site on a win2k box. I'm in the process of picking a new host and will have the site run in win 2008/2012 server. At that point I could upgrade the databases but since there are many places in the code it would become a pain and may take some time since the site changes often and I'd have to maintain 2 versions while converting.

Mike

Was it helpful?

Solution 3

After searching for almost a day to try and get the 2 app pools to play nice together, I figuted out that the problem came from the object between the seat and the keyboard. Let me explain.

When I moved the search file to the sub folder as a new application, I forgot to update the target of the search form to point to the file in the new location. It was still pointing to the old location. This is why the search was running in 32 bit not 64 bit.

I can now say that Classic ASP running on windows 7 IIS can have multiple application pools with different bitness.

OTHER TIPS

In the sub folder's webconfig put inheritinchildapplications="false" into the path

<location path="." inheritInChildApplications="false">
<system.web>

If I turn open the 32 bit app pool I specified for the main site and turn off support for 32-bit applications, search works but since there are no 64 bit jet drivers (MDB) Access queries fail.

...

I thought about converting the mbd databases to accdb since there are 64 bit drivers for accdb. At present, I can't do that because our current hosting company is running the site on a win2k box. I'm in the process of picking a new host and will have the site run in win 2008/2012 server. At that point I could upgrade the databases but since there are many places in the code it would become a pain and may take some time since the site changes often and I'd have to maintain 2 versions while converting.

There is no need to do this.

IIS can run itself in 64-bit or 32-bit mode in any windows in 64-bits. this can be activated using the Enable32BitAppOnWin64 directive on IIS6 or enabling the 32-bit application option in IIS 7.x, the Old Microsoft Access Database (.mdb) can be accessed in 64-bit or 32-bit without the need of corversion to the new Micorsoft Access 2007-2010 database format (accdb), you only need to install the correct driver.

Currently, the 64-bit mode for Microsoft access databases it's provided by the Microsoft.ACE.OLEDB.12.0 driver a.k.a. Microsoft Access Database Engine 2010 Redistributable

the default instalation of windows come with the old and deprecated Microsoft Access Database driver or Microsoft.Jet.OLEDB.4.0. just ignore it and install the new one

When install the new driver maybe you need to modify a little bit in all your connection strings (if you don't use DSN's connections), but all the old functionality works in the new driver.

NOTE: You must install the driver that corresponds to the version (32-Bit/64-Bit) of Office that you have installed in the host (if applies). you cannot install the 64-bit driver if you have the Office (32-bit) installed in the server. If you don't have Office installed in the serevr Just ignore this note.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top