Internal Server Error with Classic ASP and Access
- Bill Burton, Solution Systems, Inc.
- Apr 11, 2016
- 1 min read
While moving a Classic ASP application to a new server we received an Internal Server Error on the main page. The error itself is frustrating because it provides no indication of the next logical step for troubleshooting.
It turns out that this can happen any time a site reaches out to older 32-bit libraries for extra functionality, but the solution is a relatively straightforward settings change in IIS.

The site used Access for its database, so we switched the paths as needed to point to the new location of the files, but the Internal Server Error continued to be presented.
Nothing in the message pointed in the direction of what the problem might be. All efforts to receive more information by enabling “Detailed errors” in IIS, searching logs, and even running the code under a debugger failed.
We placed a breakpoint on the first line of code, but the Internal Server Error message occurred before the first line of code was executed.
It turns out that the key was in the Access drivers. The Access drivers are 32-bit and the new server was, of course, a 64-bit system.
More details can be found in this article: http://www.iis.net/learn/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/using-classic-asp-with-microsoft-access-databases-on-iis
The steps that solved the problem are:
On the taskbar, click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
In the Connections pane, click Application Pools.
Highlight the application pool for your application, then click Advanced Settings... in the Actions pane.
In the Advanced Settings dialog, specify True for Enable 32-Bit Applications.
Click OK to close the Advanced Settings dialog.

This solution would apply to any site that is dependent on 32-bit libraries.
コメント