Wednesday, April 25, 2007

Installing CFMX7.0.2 on Win Vista with IIS7

This article takes you step-by-step through the process of installing ColdFusion MX 7.0.2 on a PC running the new Vista operating system and using Internet Information Services (IIS) 7.

There are points during the installation process that can and will give you trouble if you follow directions published prior to Vista's release. Therefore, special emphasis has been given to the information you'll need to get working with ColdFusion on Vista.

Who will benefit by reading this article?

ColdFusion programmers who develop and/or run CFM pages locally (including developing CFCs) on a Vista box and who use IIS7.

There are multiple versions of Vista. I am using Vista Business Edition. However, according to the documentation, Vista Home Premium, Ultimate, and Enterprise also ship with IIS 7. Check the Microsoft web site for more information about the Vista editions. I found the Help and How-To pages useful, too.

ColdFusion Server Configuration Choices

ColdFusion pages can be served up using

  1. Server configuration - installs ColdFusion MX 7 as a self-contained server.
  2. Multi-server configuration - installs ColdFusion MX 7 on JRun 4.
  3. J2EE configuration - packages ColdFusion MX 7 as a J2EE application for deployment on an existing J2EE server.

This tutorial includes a discussion of the first server configuration only. That is, the installation of ColdFusion MX 7 as a self-contained server.

Summary of instructions

To get ColdFusion MX 7 running on Vista and IIS 7 you need to do several things:

  1. Install the metabase compatibility component of IIS 7.
  2. Download and run the installation program, which is not entirely successful because it doesn't know how to deal with IIS 7. Fix up is done in the next two steps. In addition, there's a bug in Vista that you need to be aware of when you run the installation program.
  3. Get the missing .dll files.
  4. Configure IIS 7 mappings (for *.cfm and *.cfc files).

In addition, I've included a few notes about uninstalling ColdFusion at the end of the article.

<?cmx action="pagebreak"?>

Install the Metabase Compatibility Component of IIS 7

To use IIS 7 you'll need to install the metabase compatibility component. This component is not automatically installed since it's not used by IIS 7. It's there for backward compatibility. Check out this article for detailed information about the metabase compatibility component. However, before you get bogged down in that really long article, be aware that you don't need to know all the details to continue. You just need to make sure it's installed before you attempt the ColdFusion installation.

To install the metabase compatibility component:

  1. Go to Start > Control Panel > Programs and Features.
  2. Click Turn Windows features on or off.

    Control Panel > Programs and Features > Turn Windows features on or off

  3. The O/S will prompt you to confirm this action. The dialog, titled User Account Control, says Windows needs your permission to continue. This is a new Vista security feature. Click Continue.
  4. In the Windows Features dialog, make sure you have checks in all the boxes under Internet Information Services > Web Management Tools > IIS 6 Management Compatibility. You'll be asked to wait while the features are configured. The name is a bit confusing at first glance. Think of it this way: you are installing into IIS 7 a component that is needed by applications that ran successfully within IIS 6.

    Internet Information Services > Web Management Tools > IIS 6 Management Compatibility

Okay, now you're ready to start the ColdFusion installation.

<?cmx action="pagebreak"?>

Download and Run the Installation Program

  1. Get the installation executable from the Adobe web site. Save it to your disk and then double-click it.
  2. Click Run when you see the Open File - Security Warning dialog.

    Open File - Security Warning dialog

  3. The files are extracted ...

    The files are extracted

  4. Pick your language and click OK.

    Beginning the installation process

  5. The wizard starts. Click Next to continue.

    The install wizard starts

  6. Accept the terms of the licence agreement and click Next.

    Accept the terms of the licence agreement

  7. If you have a serial number, input it now or just select the 30-day trial the way I did for this installation. Click Next to continue.

    input your serial number or select the 30-day trial

<?cmx action="pagebreak"?>
  1. Now pick your configuration. The directions presented here are for the Server configuration. Click Next to continue.

    Select "Server configuration"

  2. Specify the sub-components to install. Click Next to continue.

    Specify the sub-components to install

  3. Specify the installation folder. By default, the directory is CFusionMX7 at the root of your C drive. Click Next to continue.

    Specify the installation folder

  4. Select the All IIS websites radio button. Click Next to continue. (Actually, it doesn't matter what you select here since the installer doesn't recognize IIS 7.)

    Select the All IIS websites radio button

  5. Specify the location for the ColdFusion MX administrator. Note that a bug in Vista causes the folder name to be wrong. Be sure to replace %SystemDrive% with C: (or whatever drive letter is appropriate to your installation). Click Next to continue.

    Specify the location for the ColdFusion MX administrator

<?cmx action="pagebreak"?>
  1. Enter an administrator password. Click Next to continue.

    Enter an administrator password

  2. Enter an RDS password. Click Next to continue.

    Enter an RDS password

  3. The next screen displays a summary of the configuration options you've specified so far. Click Install to continue.

    summary of the configuration options

  4. Even though the installer has some problems (because of Vista and IIS 7), you're informed that the installation is complete and was successful. You'll fix the problems manually (shown below). Click Done.

    The installation is complete and was successful

The wizard instructions say that to continue, you should go to http://localhost/CFIDE/administrator/index.cfm. However, that produces the following server error:

internal server error

The problem is that since the installer doesn't recognize IIS 7, it did not unpack the required DLLs and it did not configure IIS 7.

<?cmx action="pagebreak"?>

Get the Missing DLLs

So now we begin the manual work to correct problems encountered by the installer. Fortunately, Adobe has provided a TechNote that lists the steps to manually configure the web server connector. Unfortunately, these directions are for IIS 6 so you can't follow them verbatim. They give a good starting point, though.

  1. Open the TechNote and scroll down to the section titled Microsoft IIS 6 Configuration. (Note: there are several typos in the section you need to use. Most are missing spaces between words and filenames. Read their doc carefully. I've corrected the errors here, though.)
  2. Locate the wsconfig.jar file in the cf_root\runtime\lib\ folder. This JAR archive has a lot of files in it. You won't need all of them.

    cf_root corresponds to the folder you indicated in step 10 in the previous section. If you left the dialog set at the default value, the cf_root folder is C:\CFusionMX.

    Hopefully, you already have a utility that unpacks JAR files. If not, get something like WinRAR. The trial version is free for 40 days. Then is $29 (USD). If you use WinRAR, just drag and drop the files from the WinRAR utility to the appropriate directory. It's simpler to do it that way instead of using WinRAR's Extract to button because Extract to, by default, retains folder information, which you don't want.

  3. Extract jrun_iis6.dll and copy it to to cf_root\runtime\lib\wsconfig\.
    You'll find this file in the connectors\isapi\intel-win\prebuilt folder of wsconfig.jar.
  4. Create a new folder in cf_root\runtime\lib\wsconfig\ named 1 (the number one).
  5. Extract and copy jrun_iis6_wildcard.dll to the folder you just created (cf_root\runtime\lib\wsconfig\1). You'll find jrun_iis6_wildcard.dll in the connectors\isapi\intel-win\prebuilt folder of wsconfig.jar.
  6. In the cf_root\runtime\lib\wsconfig\1 folder, create a file called jrun_iis6_wildcard.ini. The file should contain the following:
    verbose=false
    serverstore=cf_root/runtime/lib/wsconfig/1/jrunserver.store
    bootstrap=127.0.0.1:51011
    apialloc=false
    ssl=false
    #errorurl=<optionally redirect to this URL on errors>

    Note that you'll need to replace cf_root as appropriate to your installation. For example, C:/CFusionMX7. Note the use of the forward slash rather than a back slash.

    In addition, be sure to use the correct bootstrap. The TechNote lists two values, one for MX 6.1 and the other for MX 7. The only difference is the port number. MX 7 uses port 51011.


  7. Create a file called jrunserver.store in the cf_root\runtime\lib\wsconfig\1 folder. The file should contain the following:
    proxyservers=127.0.0.1:51011

    Here again you specify the port number according to your version of MX. Port 51011 is used for MX 7.


The rest of the steps in this TechNote pertain to IIS 6 so you can safely skip them.

Next you need to configure IIS 7 to handle the ColdFusion mappings.

<?cmx action="pagebreak"?>

Configure IIS 7 Mappings


In this section you'll make some changes to IIS 7 so that it recognizes and knows how to deal with ColdFusion files. You'll need to add two mappings. One for ColdFusion components (*.cfc) and another for ColdFusion pages (*.cfm).


  1. Go to Start > Administrative Tools > Internet Information Services (IIS) Manager. (You'll get the security prompt "Windows needs your permission to continue" again. Click through it.)
  2. Double click Handler Mappings from the IIS area.

    Select Handler Mappings from the IIS area


  3. Right-click in the center area of the window and select Add Script Map... from the context menu that appears (or select the Add Script Map... link from the Actions listed on the right side).

    Add two mappings. Map both of them to the jrun_iis6_wildcard.dll that you unpacked and placed in the cf_root\runtime\lib\wsconfig\1\ folder (see step 5 in the previous section).

    Mappings for *.cfc and *.cfm files

    After you click OK in the Add Script Map dialog,

    Enable the ISAPI extension

    When you're done, the Handler Mappings list look like this.

    The ColdFusion mappings

    The newly added mappings get added to the bottom of the list but when you refresh you'll see the list sorted according to the values in the Path column.


You may have noticed that you're not using the jrun_iis6.dll that you extracted from wsconfig.jar and placed in the cf_root\runtime\lib\wsconfig\ folder. This is a bit of a mystery to many people. I found that it's not needed, though the Adobe TechNote says you need to put that dll in the wsconfig folder. My guess is that this direction is for IIS 6 only, which I didn't test.

<?cmx action="pagebreak"?>

Uninstall ColdFusion MX 7.0.2


When you uninstall ColdFusion you end up with some "turds" - this is, files that should have been deleted but weren't. That means you need to do the clean up manually.


  1. Initiate the uninstall by going to Start > Control Panel > Programs and Features.
  2. Select Macromedia ColdFusion MX 7 from the list and then click Uninstall/Change (or right-click ColdFusion to see the same option).

    Uninstall ColdFusion MX 7


  3. Upon completion, you'll see a dialog that says the uninstall completed but that several files could not be removed. All of them are in the CFusionMX7 folder (in other words, the cf_root).

    uninstall completed but that several files could not be removed

    (By the way, I installed on my D drive so that's why this screenshot shows my cf_root as D:\CFusionMX7.)


  4. Reboot your computer.
  5. Manually delete the the entire CFusionMX7 folder using the File Explorer.
  6. Lastly, you'll need to remove ColdFusion MX 7 from the program list you see when you go to Start > All Programs > Macromedia.

    Delete the folder to remove the item from the App Programs list

    To remove it, delete the C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Macromedia\ColdFusion MX 7 folder.

2 comments:

Unknown said...

Hey, when I try to add script maps I get an error message that says: "One or more modules specified for this handler do not exist in the modules list. If you are trying to add a script map the IsapiModule or the cgiModule is njot present in the modules list."

I can seem to get around this.

Please provide advice to robcrose@gmail.com

Unknown said...

I have problem with this, at vista, it works, but at Windows server 2008, doesn't works. Can somebody help?