Skip to: Site menu | Main content

Email Facebook LinkedIn Twitter Google

Blog...

Coldfusion 8 and 9 on Windows Server 2003, Server 2008, Vista, and Windows 7 (x86 and x64)

I wrote a blog entry over a year ago discussing how to install Coldfusion on Windows 2008.

With the imminent release of Windows 7 and several user comments I decided to update the instructions for myself and anyone else who finds it useful.

I've installed Coldfusion 8 and 9 on most versions of Windows. I used the default setup options.

To make the Coldfusion install as painless as possible you need to take a few pre-installation steps.

(Unless otherwise noted the instructions apply across all versions.)

  1. Installer MUST be run using an administrator account.
  2. Ensure Windows and IIS components installed. NOTE: Core installs are not supported.
  3. x64 USERS ONLY: If you are installing 32-bit Coldfusion on a 64-bit Windows platform you need to ensure that your IIS application pool is setup to run 32-bit applications.
    • Windows Vista / Server 2003 / Server 2008
      cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1
    • Windows 7
      %windir%\system32\inetsrv\appcmd set apppool /apppool.name:DefaultAppPool /enable32BitAppOnWin64:true

Notes
Installing the 64-bit version will likely break any code that excutes 32-bit code (i.e. CFX and COM). I've also run into intermentent issues when using <cfexecute> to call a 32-bit executable.

500 Errors

500 errors are like the BSOD of IIS. Something didn't work and IIS doesn't know why.

Here are a few things that you can try before completely hosing your install:

  1. Check permissions! (I hate that one.)
    • Does the Coldfusion service account have access to the resource you are trying to access?
    • Does the IIS user have access to the resource?
    • Ensure the App pool being used is set to use a valid Identity in the Advanced Configuration dialog. For reference mine is set to ApplicationPoolIdentity
  2. Is the Coldfusion service running?
  3. Are the appropriate IIS mappings setup?
    By doing the pre-install steps, the Coldfusion installer should setup the appropriate IIS mappings.
  4. Errors occur on a specific page?
    • YES: Any CFX tags or remote service dependent tags like cfexchangeconnection on the page?
    • NO: Ensure non-Coldfusion content is accessible (i.e. IIS is functioning).
  5. Errors when browsing non-Coldfusion content?
    • YES: Probably IIS related.
    • NO: Coldfusion/IIS connector related.
  6. Check the application pool.
    • Is the application pool running?
    • x64 users running 32-bit Coldfusion must enable the application pool to run 32-bit apps. See #3 above.
    • The application pool might be corrupt. More on creating application pools.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
hi, yr entry for CF8 64bit installation on Win Svr 2008 is very helpful. thank you! i'm having problems getting the CF8 FTP to list files though.
i dont have any problem with opening & closing the connection, just list. do you have any idea why? appreciate help! cheers, sandra
# Posted By LEE | 8/17/09 10:58 AM
@LEE
Try connecting to a different FTP server. Determine if listing is working at. If that works, try pulling a file you know for sure exists on the FTP site. That should tell you if you are dealing with a Coldfusion problem or an issue with the FTP server software.
# Posted By Jason Holden | 8/17/09 1:03 PM
Hi, Jason.

I'm wondering if you know the correct ColdFusion 8 code to properly export a query to Excel on both Vista and Windows 7. Any help is greatly appreciated.

Thanks!
# Posted By Pat | 10/28/09 9:13 AM
@PAT

I've exported a query to CSV before using this simple function: http://www.cflib.org/udf/QueryToCsv.

CSV's can be opened using Excel.

If you require more advanced excel processing try http://www.riaforge.org

Several Excel specific projects there.
# Posted By Jason Holden | 10/28/09 10:04 AM
Jason, thanks for your postings on this; it helped me get CF 7 running on Windows 2007 / IIS 7.

It's working, but when I display a page with a Cold Fusion error, I now get the 500 error, instead of the usual partial page and gray box with error output that I used to get with CF on IIS 6

The thing is, if I access the page from a browser on the server itself, with address 127.0.0.1/whatever, I DO get the partial page and CF error text.

This is a real headache; if you happen to know what's happening or what I could do to fix, I would greatly appreciate it.

Thanks.
# Posted By Joe Copley | 11/30/09 4:07 PM
@Joe

If you add your remote IP to the list of debugging IPs can you see the error from the remote worksation?
# Posted By Jason Holden | 11/30/09 5:03 PM
Hi Jason:

Yes, I have enabled debugging, and it seems to work fine.

Note that I have this experience on my default web site, as well as another site I created.

I don't think CF is doing anything differently; I suspect this has to do with IIS 7 or Windows 2008 security.

I did notice, while trying to get CF 7 running on the machine, that the various IIS errors (e.g. 401.3, 404) I saw were just terse messages when viewed over the Internet, but provided a lot more information when viewed on a local browser (then I saw complete error descriptions, a failure log link, etc.). Maybe this is related somehow.
# Posted By Joe Copley | 11/30/09 5:58 PM
@Joe

That does sound like a permission issue. Try giving the 'Everyone' group complete acces temporarily. That will let you know for sure. Then go back and ensure that the IUSR_<Machine_Name> account has the appropriate permissions.
# Posted By Jason Holden | 11/30/09 6:07 PM
Permissions were not the problem. It turns out that IIS7 does distinguish local vs. remote users when outputting ISAPI error information. Here's more information: http://forums.iis.net/t/1146653.aspx.

I got around the problem by telling ColdFusion not to output HTTP status codes (a setting in CF administrator), but that isn't ideal, since it no longer generates 404 codes for non-existent templates.

Thanks again for your help.
# Posted By Joe Copley | 12/1/09 10:04 AM
This is a top post. Thank you it made my life much easier.
# Posted By Martin | 2/10/10 4:01 AM
Great work. I appreciate your advisory regarding the 64bit installation.
I wasted a lot of time before I found your hint.
Thanks a lot!
Kessi
# Posted By Juergen | 2/24/10 7:14 AM
Thanks a lot for sharing this info.
People like you make the internet a better place.
# Posted By Damian | 3/18/10 11:50 PM
I also was having issues with 64 bit installation.... I was able to take what you ve given and figure it out... thanks
# Posted By rich | 3/22/10 1:40 PM
That helpful but the maybe the step 3 x64 user only for window 7 can be easy fix by entering iis manager, on the connection at the left find Application Pools>DefaultAppPool right click on Set Application Pool Default. Then General at Enable 32-Bit Application change False value to True. Done and it work.
# Posted By apai | 3/31/10 9:08 AM
@apai Good call, you can set all your app pool and site defaults. In our environment we run a mix of scripting languages. I prefer to run 64-bit when I can, but in the case of Coldfusion we have some 32-bit CFX tags that require the 32-bit app pool.
# Posted By Jason Holden | 3/31/10 9:29 AM
Jason you saved me a big time. Allowing 32bit to run on 64 was my issue. THANKS!!
# Posted By Rich | 1/5/11 12:56 PM
Enable 32-Bit Applications on the Application Pool setting is what I was missing. Thanks so much.
# Posted By cusman | 3/17/11 9:53 AM
I am planning on installing cf9 on a dev workstation that already has cf8 installed. I used the CF application server for the cf8 install and would prefer to do an install of 9. Is it as easy as installing 9 into a different folder and using a different port than 8500 for accessing the pages?
# Posted By mbrennanwhite | 5/23/11 12:02 PM
@MBrennanwhite

Technically yes, but I've run into issues (with previous versions) with tags and scripts that depend on the /cfide pathing.
# Posted By Jason Holden | 6/1/11 4:57 PM
I'm installing CF 8 32-bit on a 64-bit IIS7.5 machine and followed your steps above (thank you by the way). Once installed, it appears as though all .cfm pages work fine, but .aspx pages all give me a 500 error.

Module IsapiModule
Notification ExecuteRequestHandler
Handler AboMapperCustom-25954
Error Code 0x800700c1
Requested URL http://127.0.0.1:80/iistest/319/
Physical Path C:\inetpub\wwwroot\iisTest\319\
Logon Method Anonymous
Logon User Anonymous

Any ideas?
# Posted By ahawkley | 6/6/11 11:06 AM
@AHawkley
I don't have alot of experience running both app servers through the same application pool. My first guess is that because it's a 64-bit install of Windows server that IIS is trying to load 64-bit ASP.NET into your 32-bit application pool. Can you review your ISAPI setup and see what bit ASP.NET is loading?

32-bit should be in: %windir%\Microsoft.NET\Framework\
64-bit should be in: %windir%\Microsoft.NET\Framework64\
# Posted By Jason Holden | 6/6/11 11:39 AM
Should I have to have all application pools set to allow 32-bit applications?
The reason I ask is that the server I am working on has several application pools and the application I was verifiying was not in the default application pool, but in it's own application pool. I spent 2 days trying to figure out why the application worked when I would uninstall CF, and give me 500 errors after installation.
I finally set all application pools to allow 32-bit applications rather than just the default app pool and it worked.
Is that normal behavior or is there something I can do so some app pools can run without 32-bit support enabled?
# Posted By ahawkley | 6/6/11 11:46 AM
Here are the values from the ISAPI Filters section. Thanks again for your help.

ASP.Net_2.0.50727.0 - %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll
ASP.Net_2.0.50727-64 - %windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll
ASP.Net_2.0_for_V1.1 - %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll
ASP.Net_4.0_32bit - C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll
ASP.Net_4.0_64bit - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll
# Posted By ahawkley | 6/6/11 11:52 AM
@AHawkley

Is it possible to setup a separate site with a 32-bit app pool and remove the ISAPI entries from that site only. IIS should allow independent 32/64 bit apps, but they MUST be on seperate app pools
# Posted By Jason Holden | 6/6/11 1:38 PM
Thank you! Thank you! Thank you!

I was banging my head against trying to install CF 8 on Windows 7. I just needed that step for "x64 users only" -- that did the trick!

I'm only installing such old software to test an upgrade to newer versions (before doing so in production).
# Posted By Michael B | 11/19/13 10:59 PM
i getting an error on window 2008 + cf8 + CF .net integration install environment.

I wrote a sample .net class dll and place in the same folder with my cfm script. I able to create the object from the dll but when I try to call the sample method within the class, the CF throw an error of

Object Instantiation Exception.

An exception occurred while instantiating a Java object. The class must not be an interface or an abstract class. If the class has a constructor that accepts an argument, you must call the constructor explicitly using the init(args) method. Error : ''

Can't find the solution after google for so long time, may I know is there any solution for this?
# Posted By David Cheong | 11/27/13 2:25 AM