Notes from the field on ColdFusion (or related) technical issues.

Tuesday, January 20, 2009

ColdFusion 8 Professional with Windows IIS7 64-Bit

ColdFusion 8 will run on 64-bit Windows with a 64-bit JRE, but only if you pay for Enterprise.  While the ColdFusion 8 32-bit installer will run on Windows 64, the IIS connector fails miserably.  I worked around this problem by using the IIS Connector from the 64-bit installation with a ColdFusion instance running with its 32-bit installation.

Fist, install the "normal" ColdFusion 32-bit version, but select "Built-in web server (Development use only)" on the Configure Web Servers/Websites screen:



Next, install the 64-bit version of ColdFusion, with the following options:
  • On the "Install Type" screen, choose "Developer Edition":

  • On the "Subcomponent Installation" screen, install no complementary services.

  • On the Installation Directory screen, choose "ColdFusion64" (or any dir other than where you installed 32-bit ColdFusion)

  • On the Configure Web Servers/Websites screen, select "All IIS websites" (which is the default).
At this point, you may be able to hit http://127.0.0.1/CFIDE/administrator/index.cfm to configure your ColdFusion instance.  If not, check the following items:
  • Run regedt32, and verify that the ImagePath attribute in the ColdFusion 8 Application Server service (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ColdFusion 8 Application Server) is set to "C:\ColdFusion8\runtime\bin\jrunsvc.exe"
  • Ensure that the "ColdFusion 8 Application Server" service is started.  If there's a problem, open a command prompt, CD \Coldfusion8\bin, and run CFSTART.  Look for errors.
  • Open C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\jrun.xml.  Search for "JRunProxyService"; make sure the "deactivated" attribute is "false" and that the "port" attribute is "51011".  (If you need to fix either of these, ColdFusion must be restarted.)
  • Make sure the 64-bit connector is also pointing to 51011: in the file C:\ColdFusion64\runtime\lib\wsconfig\1\jrun_iis6_wildcard.ini file, the "bootstrap" entry should be set to "bootstrap=127.0.0.1:51011".  If you need to fix this, IIS must be restarted.
Note that you'll never actually start the 64-bit instance, but it must be left in place because you're using its web server connector.

As a side note-- if you try to start ColdFusion 8 Professional in a 64-bit JVM (with either installation type), ColdFusion will revert to a "Developer" license.

Update: If the above doesn't work for you, see Jason Holden's Post on the same subject.

4 comments:

  1. Did you ever try to run your Cold Fusion applications in a 32-Bit IIS process? Search for Enable32BitAppOnWin64 for details.

    ReplyDelete
  2. Thomas,

    ColdFusion applications don't run inside IIS; instead, there's a connector that forwards requests to the ColdFusion Application Server service for processing. The "wsconfig" connector installer that comes in the 64-bit version of ColdFusion is (in my experience) much better at making the connector work with IIS7 than the 32-bit installer's version. Interestingly, it looks like it's still using the 32-bit IIS6 connector under IIS7, though.

    ReplyDelete
  3. Daryl,

    What a pain it was trying to get coldfusion installed and running until I finally found this page. It worked great.
    Thanks.

    ReplyDelete
  4. Hi Darryl,
    Are there any updates to this process for CF 9/10? Have you tried it?

    I ran into what seems to be a very similar problem trying to run 32 bit install of CF10 on Windows 2008 x64.

    I would have thought they had this working by now.

    Thanks!

    ReplyDelete