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.)
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.
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 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:
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
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.
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.
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.
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.
If you add your remote IP to the list of debugging IPs can you see the error from the remote worksation?
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.
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.
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.
This is a top post. Thank you it made my life much easier.
Great work. I appreciate your advisory regarding the 64bit installation.
I wasted a lot of time before I found your hint.
Thanks a lot!
Thanks a lot for sharing this info.
People like you make the internet a better place.
I also was having issues with 64 bit installation.... I was able to take what you ve given and figure it out... thanks
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.
@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.
Jason you saved me a big time. Allowing 32bit to run on 64 was my issue. THANKS!!
Enable 32-Bit Applications on the Application Pool setting is what I was missing. Thanks so much.
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?
Technically yes, but I've run into issues (with previous versions) with tags and scripts that depend on the /cfide pathing.
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.
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
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\
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?
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
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
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).
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?
An information technology professional with twenty three years experience in systems administration, computer programming, requirements gathering, customer service, and technical support.