Blog

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

August 7, 2009

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 intermittent 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.

26 Comments

LEE
LEEAugust 17, 2009 at 10:58:30 am

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

Jason Holden
Jason HoldenAugust 17, 2009 at 1:03:33 pm

@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.

Pat
PatOctober 28, 2009 at 9:13:16 am

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!

Jason Holden
Jason HoldenOctober 28, 2009 at 10:04:15 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.

Joe Copley
Joe CopleyNovember 30, 2009 at 4:07:57 pm

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.

Jason Holden
Jason HoldenNovember 30, 2009 at 5:03:09 pm

@Joe

If you add your remote IP to the list of debugging IPs can you see the error from the remote worksation?

Joe Copley
Joe CopleyNovember 30, 2009 at 5:58:23 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.

Jason Holden
Jason HoldenNovember 30, 2009 at 6:07:36 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.

Joe Copley
Joe CopleyDecember 1, 2009 at 10:04:51 am

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.

Martin
MartinFebruary 10, 2010 at 4:01:48 am

This is a top post. Thank you it made my life much easier.

Juergen
JuergenFebruary 24, 2010 at 7:14:32 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

Damian
DamianMarch 18, 2010 at 11:50:22 pm

Thanks a lot for sharing this info.
People like you make the internet a better place.

Rich
RichMarch 22, 2010 at 1:40: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

apai
apaiMarch 31, 2010 at 9:08:11 am

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.

Jason Holden
Jason HoldenMarch 31, 2010 at 9:29:09 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.

Rich
RichJanuary 5, 2011 at 12:56:50 pm

Jason you saved me a big time. Allowing 32bit to run on 64 was my issue. THANKS!!

cusman
cusmanMarch 17, 2011 at 9:53:44 am

Enable 32-Bit Applications on the Application Pool setting is what I was missing. Thanks so much.

mbrennanwhite
mbrennanwhiteMay 23, 2011 at 12:02:42 pm

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?

Jason Holden
Jason HoldenJune 1, 2011 at 4:57:33 pm

@MBrennanwhite

Technically yes, but I've run into issues (with previous versions) with tags and scripts that depend on the /cfide pathing.

ahawkley
ahawkleyJune 6, 2011 at 11:06:16 am

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?

Jason Holden
Jason HoldenJune 6, 2011 at 11:39:11 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\

ahawkley
ahawkleyJune 6, 2011 at 11:46:21 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?

ahawkley
ahawkleyJune 6, 2011 at 11:52:05 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

Jason Holden
Jason HoldenJune 6, 2011 at 1:38:47 pm

@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

Michael B
Michael BNovember 19, 2013 at 10:59:09 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).

David Cheong
David CheongNovember 27, 2013 at 2:25:10 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?

Leave Your Comment

Your email address will not be published. Required fields are marked *


about me

An information technology professional with twenty four years experience in systems administration, computer programming, requirements gathering, customer service, and technical support.