Running 32 bit worker processes under Win64
Symptoms
There can be many hurdles to overcome!
To actually get to see some of these errors, you may need to override the default for the "scriptErrorSentToBrowser" flag in IIS7. It's now false and you always get the error ' An error occurred on the server when processing the URL. Please contact the system administrator'. To change this, on WIndows Server 2008 or greater, INETMGR, click on the default website (or Keyfax) and bring up ASP properties and change the setting to True:
.
:
Alternatively, run: :
%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true
Then you'll start to see the errors, typically you are unable to create server-side Keyfax objects under IIS, e.g. calls such as:
Set oKFI = Server.CreateObject("keyfaxi32.cHTML")
do not work.
Cause
The host IIS server is running a Windows 64 bit OS which is not enabled/configured to run 32 bit worker processes.
Resolution
On WIndows Server 2008 or greater, in INETMGR/Application Pools/Advanced Settings, change the setting to True:
Alternatively, run: :
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
%SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
If attempts to display web pages returns 'Service Unavailable" errors, it may also be necessary to run (e.g)
c:\inetpub\wwwroot\adminscripts\ADSUTIL.VBS
answering Yes to the question “Do you wish to register CScript as your default host for VBscript?”
To Register the Keyfax DLL's:
1) Start DOS Command prompt (run as administrator)
2) From c:\windows\syswow64, run REGSVR32 keyfaxi32.dll etc
Status
This behaviour is by design.
32 vs 64 bit - Additional Information
Registry
32-bit programs and 64-bit programs that are running on an x64-based version of Windows operate in different modes and use the following sections in the registry: Native mode 64-bit programs run in Native mode and access keys and values that are stored in the following registry sub key: HKEY_LOCAL_MACHINE\Software 32-bit programs run in WOW64* mode and access keys and values that are stored in the following registry sub key: HKEY_LOCAL_MACHINE\Software\WOW6432node. More information at: http://support.microsoft.com/kb/896459
*WOW64 (Windows-on-Windows 64-bit) is a subsystem of the Windows operating system that is capable of running 32-bit applications and is included on all 64-bit versions of Windows — including Windows XP 64-bit Editions , Windows Server 2003 x64 Edition and Windows Vista 64-bit Editions. WOW64 takes care of all the differences between 32-bit Windows and 64-bit Windows, particularly involving structural changes to Windows itself.
Links
For more details see:
http://support.microsoft.com/kb/894435
http://support.microsoft.com/kb/812833 .
http://blogs.iis.net/thomad/archive/2007/02/06/security-is-painful.aspx.
Server 2008 IIS 7
ASP Not installed by default
It is normally a case of going into Roles in Server Manager and installing the components:
-
Click Start , point to Administrative Tools , and then click Server Manager .
-
In Roles Summary, click Add Roles .
-
Use the Add Roles Wizard to add the Web Server (IIS) role.
For detailed instructions about how to install a default IIS 7 Web server, see Deploying a Static Content Server (IIS 7) .
-
On the Select Role Services page, note the preselected role services that are installed by default, and then select the following additional role services:
- ASP
- Request Filtering
- ISAPI Extensions
- ASP
-
On the Summary of Features to Install page, confirm your selections, and then click Install .
-
On the Installation Results page, confirm that your installation of the Web Server (IIS) role and required role services completed successfully, and then click Close .
-
To verify that IIS installed successfully, type the following into a Web browser:
http://localhost
You should see the default IIS 7 Welcome page.
For more information click here.
Parent Paths
You may encounter this error when setting up Keyfax 3.2 under IIS 7.0
The '..' characters are not allowed in the Path parameter...
To revert back to IIS 5.x behavior, simply run the following command: %windir%\system32\inetsrv\appcmd set config -section:asp -enableParentPaths:true