2008.11.10...7:24 pm

Alternating between CF7 and CF8 running under IIS

Jump to Comments

Not sure if anyone else has a need for this information but I figured I would go ahead an post it just in case anyone might find it useful.

I know everyone knows that you can run both ColdFusion 7 and ColdFusion 8 on the same machine at the same time.   The common way to do this is to run one or both using the built in web server.  Now while this works I found that it is quite easy to switch IIS integration between ColdFusion 7 and 8 allowing both to run this way when needed.

I upgraded my local development environment to ColdFusion 8 about a year ago however my corporate development environment is still at ColdFusion 7.  90% of the time this is not a problem just as long as I am aware of what is and is not available.  (Mainly I have to make sure that I still use EQ, NEQ, GT etc…)    The one area that I found it necessary to have ColdFusion 7 for is for configuring the Flex / AMF gateway  (services-config.xml).

I do not have direct access to these configuration files on my corporate dev server (or ability to restart the server)  This is not usually a problem but can make for extra steps in this case.   In order for me to request a new channel or destination to be added to the config file I need to write it up and send it to the system administrator and have him add it and then restart the server.  Because to of the extra steps involved I have to make sure that it is configured exactly correctly.

When I was simply using CF7 on my local box I would just get a copy of the service-config.xml file from the dev server and then copy and paste the channel and destination sections from my local service-config.xml file and then send it back to the system administrator.  However now with CF8 my settings may not directly match.  First there is the issue that by default ColdFusion 8 splits the channel definitions and destination definitions into two separate files services-config.xml and remoting-config.xml.   OK not too big a deal however now I have to make sure to consolidate the settings into the one services-config.xml file for movement to the server.

OK Well to get back to my point.  I needed to be able to run both CF8 and CF7 as if they were the only version installed and running through IIS on my local box so that I could effectivly test these configuration files before sending them to our system administrator.    In the end my solution was to install both and switch between them.

The set up is not that difficult.  I first installed ColdFusion 8 using the default install path of C:\ColdFusion8\.  I then stopped the services and renamed the CFIDE directory in the Inetpub\wwwroot directory to CFIDE8.  Then I installed ColdFusion 7 to the default install path of C:\CFusionMX7\.   Then renamed the CFIDE directory it created in the the Inetpub\wwwroot directory to CFIDE7.   Then I pull the shortcuts each of the Web Server Configuration tools out of their respective start menu locations and put them on my desktop and renamed them so I would know which version applied to which.

Now to switch between them I just follow a fairly simple process… I stop IIS, and the version of coldfusion that is running.  Then I open up that version’s Web Server Configuration tool and remove IIS from the list. I close that Web Server Configuration tool and open the other version’s Web Server Configuration tool and then Add IIS to it.  Then I go into the Inetpub\wwwroot directory and rename the CFIDE directory that is there back what it should be (If i WAS running CF8 then CFIDE8) and then rename the other CFIDE? to CFIDE (say CFIDE7 to CFIDE)   Now the correct version of CF is connected up to IIS, the correct CFIDE directory is in place and I can just restart IIS and the appropriate ColdFusion server and now I’m running under the other version.

This set up is not as easy as running both versions concurently, however I found that I rarely did that anyway as it ate up system resources.  Once it is set up, this only adds a few steps to switching over from one version to the other and further I am running through IIS for both versions.

Leave a Reply