Menu

As simple as possible, as complex as necessary

Installing ColdFusion 9 on Windows 8

10 February 2014

Since ordering a Windows 8 laptop a few weeks ago I've been looking forward to much better performance and faster booting, while at the same time dreading the painful time-sink of moving over to a new machine.

Having arrived, the speed and performance improvements are indeed excellent, and the suffering involved in transferring my dev environment is indeed hideous.

There have been several difficulties in moving from Windows 7 to 8, but chief among them was the failure of the ColdFusion 9.0.2 installer to work. Yes I know the current version is 10, and that 9 is not officially supported on Win 8 by Adobe. But 9 is our current production platform and I naively hoped it would still work.

Instead, launching the installer I got:

This Application has Unexpectedly Quit Invocation of this Java Application has caused an Invocation TargetException. this application will now exit. (LAX)

I made several attempts based on googled suggestions to run in "compatibility mode", with admin permissions, and fiddle about with the JRE in the temp folder created by the aborted installer. I made some progress but wasn't happy with the results.

I was about to resign myself to being stuck on my current machine until such time as we could migrate our platform to Railo, when Jeremy came across a suggestion to try the 32-bit CF9 installer.

Again the installer file needed to be put into compatibility mode (right-click it, choose "Troubleshoot compatibility" and tell the wizard that it worked fine under Windows 7). It also needs running as an administrator.

But it worked. At least until I got to the web server configuration step, which noticed that my version of IIS was too high and refused to go any further.

This didn't put me off, though. As a veteran CF server guy, I've had a fair amount of practice fiddling with IIS/CF connections over the years so I just followed my nose and created the IIS Handler Mappings for coldfusion extensions as follows:

  1. From my old PC, I copied the [cfroot]\runtime\lib\wsconfig folder to the new CF installation (where [cfroot] is the absolute path to my CF9 root folder).
  2. In the IIS applicationHost.config file, located in C:\Windows\System32\inetsrv\config, I made sure the <handlers> section was as follows (my [cfroot] being C:\ColdFusion9):
    <handlers accessPolicy="Read, Script">
        <clear />
        <add name="cfmHandler" path="*.cfm" verb="GET,POST" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion9\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="File" requireAccess="Script" allowPathInfo="false" preCondition="bitness32" responseBufferLimit="4194304" />
        <add name="cfcHandler" path="*.cfc" verb="GET,POST" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion9\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="File" requireAccess="Script" allowPathInfo="false" preCondition="bitness32" responseBufferLimit="4194304" />
        <add name="cfrHandler" path="*.cfr" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion9\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="File" requireAccess="Script" allowPathInfo="false" preCondition="bitness32" responseBufferLimit="4194304" />
        <add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,DefaultDocumentModule" scriptProcessor="" resourceType="Either" requireAccess="Read" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" />
        <add name="JWildCardHandler" path="*" verb="*" type="" modules="IsapiModule" scriptProcessor="C:\ColdFusion9\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="File" requireAccess="None" allowPathInfo="false" preCondition="bitness32" responseBufferLimit="4194304" />
    </handlers>

(More detailed information on manual connections is available from Adobe)

Since I'm now using a 32-bit version of CF with a 64-bit web server, I went into the Application Pools section of the IIS GUI and chose "Set Application Pool Defaults". Under "General" I set the Enable 32-bit applications to true.

Good enough

Ideally I'd rather be using 64-bit throughout. To keep on top of security patches, we tend to use and maintain a separate version of the latest JRE rather than the one that ships with CF, and obviously this will now have to be a specially installed 32-bit version, rather than the 64-bit JRE I'll be using for everything else.

But at least my shiny new laptop doesn't have to gather dust while we prepare for the leap to Railo.

Posted on . Updated

Back to the top