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
- Server configuration - installs ColdFusion MX 7 as a self-contained server.
- Multi-server configuration - installs ColdFusion MX 7 on JRun 4.
- 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:
- Install the metabase compatibility component of IIS 7.
- 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.
- Get the missing .dll files.
- 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:
- Go to Start > Control Panel > Programs and Features.
- Click Turn Windows features on or off.
- 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.
- 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.
Okay, now you're ready to start the ColdFusion installation.
<?cmx action="pagebreak"?>
Download and Run the Installation Program
- Get the installation executable from the Adobe web site. Save it to your disk and then double-click it.
- Click Run when you see the Open File - Security Warning dialog.
- The files are extracted ...
- Pick your language and click OK.
- The wizard starts. Click Next to continue.
- Accept the terms of the licence agreement and click Next.
- 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.
- Now pick your configuration. The directions presented here are for the Server configuration. Click Next to continue.
- Specify the sub-components to install. Click Next to continue.
- Specify the installation folder. By default, the directory is CFusionMX7 at the root of your C drive. Click Next to continue.
- 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.)
- 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.
- Enter an administrator password. Click Next to continue.
- Enter an RDS password. Click Next to continue.
- The next screen displays a summary of the configuration options you've specified so far. Click Install to continue.
- 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 wizard instructions say that to continue, you should go to http://localhost/CFIDE/administrator/index.cfm. However, that produces the following 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.
- 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.)
- 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.
- 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. - Create a new folder in cf_root\runtime\lib\wsconfig\ named 1 (the number one).
- 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.
- 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.
- 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).
- 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.)
- Double click Handler Mappings from the IIS area.
- 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).
After you click OK in the Add Script Map dialog,
When you're done, the Handler Mappings list look like this.
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.
- Initiate the uninstall by going to Start > Control Panel > Programs and Features.
- Select Macromedia ColdFusion MX 7 from the list and then click Uninstall/Change (or right-click ColdFusion to see the same option).
- 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).
(By the way, I installed on my D drive so that's why this screenshot shows my cf_root as D:\CFusionMX7.)
- Reboot your computer.
- Manually delete the the entire CFusionMX7 folder using the File Explorer.
- Lastly, you'll need to remove ColdFusion MX 7 from the program list you see when you go to Start > All Programs > Macromedia.
To remove it, delete the C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Macromedia\ColdFusion MX 7 folder.
2 comments:
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
I have problem with this, at vista, it works, but at Windows server 2008, doesn't works. Can somebody help?
Post a Comment