Thursday, October 26, 2006

CFMX Setup on Vista

I just installed CFMX 7 on Vista Ultimate but it wasn't a very streamlined process. The CFMX installer doesn't support IIS 7 so a number of manual steps were needed after the fact. There is also a compatibility adjustment that you must make.

First, you need to run the ColdFusion Installer using the Program Compatibility Wizard. This will normally appear after the installer hangs. If it doesn't, the location to create a shortcut with is "%SystemRoot%\system32\mshta.exe res://%SystemRoot%\system32\acprgwiz.dll/compatmode.hta". There are a few options that you are going to want to choose.

  • Microsoft 2000 (Using Windows XP will not work)
  • On the next screen, choose 256 colors and all of the 'disable' options
  • Next, make sure you run this program as an administrator
This should get you through the basic install. For whatever reason, the isapi filter that normally handles each request is not created. A Script Map needs to be created in the Handler Mapping in IIS for your server.

Prior to setting up the Handler Mappings, you need to download jrun.dll from another installation and make sure that file exists in the following directory : 'c:\cfusionMX7\runtime\lib\wsconfig\1' -- You may want to simply copy the entire "1" directory under wsconfig.

First, pop open the IIS Console which looks like so, although you probably won't have either of the ISAPI options if you did a default install of IIS.

You will want to then open up the Handler Mappings option and create a new Script Map. You need to create one for your cfm files and another for your cfc's.

When you're done, the list of Handler Mappings should look familiar to this.

A this point, you should probably restart CF and IIS and give it a go.

22 comments:

  1. Thanks Mike, but I found this a little late. I've already bagged on Vista and reverted to XP for my laptop. Especially important since I learned that SQL 2k won't install on Vista. I'm not ready for the 2k5 jump yet. Maybe a couple more years?

    ReplyDelete
  2. Hey Nat,

    Sorry to hear that you bailed on Vista. SQL Server 2000 can be installed on Vista, even though they give you all sorts of warnings that it won't. Check out http://omnicypher.blogspot.com/2006/10/sql-server-2000-on-vista.html for my experiences with it.

    ReplyDelete
  3. Anonymous4:34 PM

    Where can I get jrun.dll if I don't have it from another installation? I have new computer running Vista. I was running Apache on my XP.

    ReplyDelete
  4. I would suggest reaching out to Adobe to ensure that you have the correct version, but you can download jrun.dll here if you're in a pinch.

    Have a good day,
    Michael

    ReplyDelete
  5. Anonymous3:17 PM

    Thank you micheal for helping me find the solution to installing coldfusion mx 7 on my new retail copy of Vista Ultimate. Since I installed the 64-bit version of vista, I had to enable 32 bit apps inside iis7. You can do this by going to "Application Pools" in IIS manager and then right clicking the pools - going to advanced settings and set Enable 32-Bit Applications to True
    Today is February 25th, 2007.

    I have not tested any complex applications yet, so there may still be unknown compatibility issues.

    thanks,
    skyflare (AT) gmail {DOT-} com

    ReplyDelete
  6. Anonymous9:44 AM

    Great Post. I followed it and got CF running on Vista. One problem though.

    I cannot connect to RDS using DW. I can connect to RDS on other servers but not on the local one. Is there anything else I need to do?

    Thanks for the help!

    ReplyDelete
  7. Take a look at what Sandy Clark has put together.

    In order to get RDS working, create a "main" subdirectory in your "webroot"/CFIDE directory and add a blank "ide.cfm" file in there.

    Let us know if that does the trick.

    Have a good day,
    Michael

    ReplyDelete
  8. Anonymous11:01 AM

    Michael,

    Just wanted to say thank you for this information. BIG HELP! I knew that the problem had to be the handlers, but wasn't exactly sure how to make them work manually. I was actually able to install CFMX 7.02 without needing to do the compatibility mode, but when it was time to do the migration assitant, that's when IIS failed. Copying the 1 folder from a previous IIS 6 on Server 2003 installation and creating the mappings with jrun_iis6_wildcard.dll worked perfectly. Many thanks again for your knowledge and willing to share it!

    Best Regards,
    Ben

    ReplyDelete
  9. Ben Finelsen1:27 PM

    Michael,

    Eveything seems to be running fine until I try to add a Datasource. In this case, its a simple access db, but I'm receiving an error of:

    Unable to update the NT registry.
    Variable DRIVERPATH is undefined.

    Any suggestions?

    Many thanks,
    Ben

    ReplyDelete
  10. Hi Ben,

    Are you using "Microsoft Access with Unicode" as the driver? This worked just fine for me, outside of that I'm sorry to say I won't be of much help as I primarily use SQL Server.

    Good luck,
    Michael

    ReplyDelete
  11. hello michael,
    just followed this guide for updaters 1 and 2 for cfmx7. the real install went fine, not really, but enough that it finished the install without the need for the compatibility wizard but did run into the need for the updaters.

    anyhow, when i try to add the script maps, i get a red x'd error in an alert box, that reads...

    "One or more of the modules specified for this handler does not exist the modules list. If you are trying to add a script map the IsapiModule or the CgiModule is not present in the modules list."

    any ideas?

    thanks!
    tony

    ReplyDelete
  12. Hi Tony,

    Have you validated that C:\CFusionMX7\runtime\lib\wsconfig\1\jrun.dll actually exists? Outside of that file not being present, I don't know offhand what would be causing your error.

    Let me know and good luck,
    Michael

    ReplyDelete
  13. Tony, I also got the same message. I don't know what to do about it either, and yes, the dll exists.

    ReplyDelete
  14. Andrew8:54 PM

    I'm having a REALLY annoying error. I've tried every CF7-VISTA help ideas I could possibly find and I'm still at a loss. I have the following error in the Application log and the Application Pool keeps turning off when I try to access a cfm page.

    The Module DLL C:\CFusionMX7\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll failed to load. The data is the error.

    HELP! ANY IDEAS????!! I feel like I've tried everything!

    ReplyDelete
  15. Andrew9:08 PM

    Sorry, actually the error is:

    Failed to find the RegisterModule entrypoint in the module DLL C:\CFusionMX7\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll. The data is the error.

    ReplyDelete
  16. I have read all the posts and was wondering if anyone has a solution the the error message, "One or more of the modules specified for this handler does not exist the modules list. If you are trying to add a script map the IsapiModule or the CgiModule is not present in the modules list." ??

    My iis7 install did not create the "ISAPI ans CGI Restrictions" or "ISAPI Filters" buttons under the IIS Web site home page and I was wondering how to get that manually installed???

    Any help would be greatly appreciated...

    ReplyDelete
  17. Hi Peter,

    You should be able to install them under add/remove programs if I remember correctly. I'm sorry that I can't provide more details but I switched back to XP. Vista just wasn't worth the headaches or performance woes any longer. It also didn't correctly support VTBook which was important for my setup.

    Good luck,
    Michael

    ReplyDelete
  18. Anonymous4:18 PM

    Hi,

    Thanks for all the help on this page. The missing modules message when mapping refers to the ISAPI and CGI Restrictions not being installed in IIS 7.0. You can select them in the add windows components under IIS. They're in the same tree as ASP.

    Best,
    Matt Genge

    ReplyDelete
  19. sandy9:44 PM

    Anonymous ... thank you so much for the advice about the ISAPI and CGI Restrictions. You saved my life!!!

    ReplyDelete
  20. Anonymous11:56 PM

    I've followed the steps you advice, but when I try to access any CF page IE reports a:
    "HTTP Error 500.0 - Internal Server Error
    Descripción: No se puede mostrar la página. Error interno en el servidor.
    Código de error: 0x80070003
    Notificación: ExecuteRequestHandler
    Módulo: IsapiModule
    Dirección URL solicitada: http://localhost:80/cfide/administrator/index.cfm
    Ruta física: C:\inetpub\wwwroot\cfide\administrator\index.cfm
    Usuario de inicio de sesión: Anónimo
    Método de inicio de sesión: Anónimo
    Controlador: cfm "

    One of the problems I think was that the folder where it is supposed the jrun.dll must be, really does not exists. I downloadedthe one you said in the link, but there was no "1" folder and, so, there is no other file than jrun.dll in it now.

    ReplyDelete
  21. For those of you that have the problem with the following message:

    "One or more of the modules specified for this handler does not exist the modules list. If you are trying to add a script map the IsapiModule or the CgiModule is not present in the modules list."

    I found the fix.

    When you go into control panel -> programs -> turn windows features on or off, expand the IIS box, under world wide web services go to Application development features. Make sure ISAPI extensions and filters are ticked, then when you try to add the script map, it should work fine.

    Thanks,
    Rob

    ReplyDelete
  22. Thanks Rob. That's exactly the info I needed.

    ReplyDelete