Important update: Note that ColdFusion 10 and 11 have been updated to support Windows 10, a few weeks after this blog post was first written. Consider applying that update rather than this preliminary wsconfig update.

 

Windows 10 is not certified yet with ColdFusion 10 and 11. The certification will be available as part of the next update. However, you can run ColdFusion 10 or ColdFusion 11 on your development environment by following the below outlined steps. 

ColdFusion 11 32-bit/64-bit

Link for updated wsconfig.jar

1.       Please take a backup of the existing wsconfig.jar at \ColdFusion11\cfusion\runtime\lib\ and move it outside ColdFusion directory.

2.       Stop the ColdFusion services and remove the older wsconfig.jar. 

3.       Download the jar files from the links above.

4.       Place them in the location mentioned in Step1 and restart IIS/ColdFusion.

5.       Please take a backup of the connector folder at \ColdFusion11\config\wsconfig\[magic number]\.

6.       Recreate the connector and test your application.

 

ColdFusion 10 32-bit/64-bit

Link for updated wsconfig.jar

1.       Please take a backup of the existing wsconfig.jar at \ColdFusion10\cfusion\runtime\lib\ and move it outside ColdFusion directory.

2.       Stop the ColdFusion services and remove the older wsconfig.jar. 

3.       Download the jar files from the links above.

4.       Place them in the location mentioned in Step1 and restart IIS/ColdFusion.

5.       Please take a backup of the connector folder at \ColdFusion10\config\wsconfig\[magic number]\.

6.       Recreate the connector and test your application.

 

In case you will have any questions please feel free to contact us at cf.install@adobe.com and we will be more than happy to assist you.


43 Comments to “Running ColdFusion 10 and 11 on Windows 10”

  1. Shawn
    I have CF11 running on my SP3 with Windows 10, with all updates installed, however it appears to be very slow on the first load the application taking 8-10 seconds. This appears to mimic the earlier IIS bug minus the web.config file from getting corrupted when it changes.
  2. Aaron Neff
    Hi Rakshith,

    Does cf.install@adobe.com work now?

    I thought only cf.instal@adobe.com (w/ 1 "l") worked.

    Just want to confirm - b/c "install" is the correct spelling but did not previously work.

    Thanks!,
    -Aaron
  3. Aaron Neff
    I've confirmed cf.install@adobe.com does work. It didn't in October of 2014, so I'm glad to see it works now.

    Thanks!,
    -Aaron
  4. Rakshith Naresh
    @Shawn: Thanks for the feedback. Our engineers will have a look at the issue that you have mentioned above.

    @Aaron: Great. Thanks for the feedback.
  5. Tamara
    hello,
    I followed the steps for coldfusion 11 64bits
    I can run the server configuration now, the handlers are created in the IIS, but I get HTTP Error 500.0 - Internal Server Error for cfmHandler.
    Am I missing another configuration ?
  6. Shawn
    I would make sure /CFIDE and /jakarta virtual folders exist.

    If that doesn't work, make sure ISAPI is enabled in Handler Mappings. On my install it was disabled by default, even after you install the feature. IIS could be better describing enable/disable.

    Double click ISAPI-dll > Request Restrictions > Access > Execute translates to Enabled

    If that fails maybe you are using an IIS module that is not installed like URL rewrite?
  7. Tamara
    hello,
    all of the above is done, but still the problem persists.
    I hope it has nothing to do with my windows version :
    windows 10 Home single language ?

    thank you for the effort
  8. collins
    I am going to purchase a laptop with windows 10 OS, and I was thinking that how I would be able to run so many applications on it, but now at least I can run coldfusion on Windows 10. Thanks for this article.
  9. Tamara
    I have windows 64bits and I downloaded the coldfusion 64bits.
    restarting the IIS enables the option 32bits application to true in the defaultAppPool, it will give the 500 error.
    when I put it to false, the index.cfm is downloaded.
    It should at least behave the other way around, no ?
  10. Shawn
    Yeah a different bit setting could cause it. I'm running Windows 10 pro and mine does not change the bit support on restart. If your .cfm files are downloading, then they aren't being handled properly. I would verify those are done correctly.

    Also make sure you have the tomcat ISAPI filter added.
    ISAPI Filters > Add

    tomcat
    CFPath\config\wsconfig\magic number\isapi_redirect.dll
  11. Anit Kumar Panda
    @Tamara, our team is already in touch with you regarding this issue.
  12. Mike Kear
    These instructions all seem to imply an already-installed CF11. But Mine wont install. It complains at the screen where I have to nominate the web server. Doesnt like the IIS choice. But when I try to install it using the built-in server it just hangs.

    CUrrently, it's been 30 minutes at 12% installation, saying "Installing - check for previous version(s) of COldlFusion."

    What now?
  13. Shawn
    I'd use the cf install email for that one. Never had that issue before.
  14. Anit Kumar Panda
    @Mike,

    Our team would get in touch with you. Alternatively, you can get in touch with us at cf.install@adobe.com
  15. Peter Tilbrook
    Worked for me. Finally. Only been waiting for like a year for Windows 10 compatibility.
  16. Shawn
    @Rakshith

    I got it fixed. I was using the jar from the previous example.The one you included here fixed it. Initial loads are now down to a respectable 2 seconds.
  17. Rakshith Naresh
    @Shawn: That's great. Thanks for the update.
  18. Andrew Scott
    I find it funny that after the debacle with Windows 8, that Adobe still can't be proactive and have all this ready for the updates to Windows 10.

    Microsoft have what they call a preview program and Adobe would it no be within your best interest to apply to that program and actually be proactive and make sure your tools and software work on these releases in a more timely fashion.

    The problem is Adobe is too old school for this modern world and unless something changes, they are going to continue to piss developers off to other languages.
  19. Henry Ho
    I followed the steps here and it works for the default cfusion instance, and I can go to cf admin on port 80 via IIS no problem.

    After I added a new instance, then I run C:\ColdFusion10\[instanceName]\runtime\bin\wsconfig.exe, but it shows "Warning: Version 10.0 is installed. Supported versions are 4.x, 5.x, 6.x, 7.x, 8.x".

    I tried copying the new wsconfig.jar to C:\ColdFusion10\[instanceName]\runtime\lib and tried again, still gives me the same warning.

    How to make this work with instances other than 'cfusion'?
  20. Henry Ho
    Please ignore my last comment. It works now. The hotfixes I installed later must have overwritten this new wsconfig.jar on the other instances. Thx.
  21. Mike Kear
    I am thinking about what to do next in my case. I have several more machines to upgrade to Win10 as well. I think my problem was that i was trying to change too many things at once. Instead, for my other machines I think i will:

    (a) remain at Win7/CF9 for now, (which is what I have on my production servers),
    (b) change from Apache to IIS (which is the web server on my production servers), then, when that's working satisfactorily,
    (c) upgrade from CF9 to CF11 (while it's different to my production servers, CF9 is apparently NEVER going to work with Win10), then, when that's working satisfactorily, and ONLY then,
    (d) go to Win10.

    I think that will give me much better odds of it all working properly, because at the last step, the only part of the CF/Windows combination that is in question is the wsconfig.jar.

    What do you people think of that plan?
  22. Vikram Kumar
    @Mike,

    The plan looks absolutely fine. The latest web server configuration tool(wsconfig.jar) which is supported in Windows 10 is part of our next update and is available online for testing purpose.(link:http://blogs.coldfusion.com/post.cfm/coldfusion-11-update-7-is-available-for-early-access). Please let me know if you have any further queries.

    Thanks,
    Vikram
  23. Matthew
    I successfully installed the hotfix (wsconfig.jar) and ColdFusion is running now on Win 10, but the Configuration and Settings Migration Wizard hangs after I log into CFIDE\Administrator so with no way to configure I am still broken.

    Suggestions?
  24. Henry Ho
  25. Anit Kumar Panda
    Hi All,

    The links are fixed now.
  26. snake
    the link to download the updated wsconfig requires authentication, what are the login details ? I do not see them mentioned anywhere in this post.
  27. Charlie Arehart
    Hey Russ/Snake (#26), while you await an answer from Adobe, are you at least aware that a separate download of this jar is no longer "needed"?

    As indicated in the "update" at the top of the blog post. they did finally come out with updates to CF 10 and 11 which DID have the support for Windows 10 built-in, and did include that new wsconfig.jar

    I suspect that someone added the authentication to the jar at a later point because they didn't expect people to be getting it directly anymore, now that the formal updates (from November) added the needed support. Perhaps that person wasn't aware of the link from here.

    Hope the first point is helpful to you, Russ.
  28. snake
    Hi Charlie,
    What both you and Adobe have probably missed here is the fact that if you are installing on Windows 10 then in order to install the stated update, you need to access the cfadmin, but in order to access the cfadmin you need the update to get the connector. So it is a catch 22 unless you know how to work around it.
    Luckily I do know how to work round it, so I simply enabled the internal web server and used that instead to get the update.

    But for someone who is new to CF and not savvy with the server side of things, this would have caused a major headache.
  29. Charlie Arehart
    Russ/snake (#28), I have not "missed that". It's been discussed in the comments at the bottom of the post pointed to in the update above, which discussed when they DID come out with the update to support Windows 10.

    You'll see myself and others pointing out there that, yes, with the current CF10/11 installers (this was in Dec), one would indeed need to use the built-in web server first, and THEN apply the update, and THEN connect CF and IIS.

    It's not a horrid situation (in my opinion), but it could indeed be confusing to some newcomers, and would certainly be improved with a new installer. Adobe didn't feel compelled to do that, it seems. Perhaps they were too focused at the time on getting 2016 out the door.

    Anyway, as you may know, one can no longer get CF11 installers from the Adobe site anyway, now that CF2016 has come out (just as you could no longer get CF10 installers once CF11 came out).

    So if someone does download CF today, they will (and can only) get CF2016 on the public Adobe site, and that does certainly have Windows 10 support built-in. Your scenario only applies to those who have old CF10 or 11 installers. Not discounting the challenge for them, but again this does not hurt those going forward with CF2016, for what that's worth.

    HTH.
  30. Henry Ho
    Link is broken, cannot download the updated jar file.
  31. Charlie Arehart
    Henry, see the first paragraph, which points out how this was a stop-gap until a later update added the needed support. It also ends, "Consider applying that update rather than this preliminary wsconfig update."

    Perhaps they could go a step further and strike out that link, or perhaps the whole blog text, to avoid such confusion.
  32. Dan
    I think I fall in the middle. I downloaded CF 11 Quite a while ago which means I need the jar file but can no longer get it.

    @Scott, I agree. Seems like every time another version of CF comes out months after a new OS is released, you have to jump through hoops trying to get it to work if at all.
  33. Dan
    What did work for me though is get a copy of the file from a working box. Allowed me to use the web server configuration tool to create the connector. Maybe might help someone who finds themselves reading it in the future.
  34. Trena
    How many connection pools should I have for 5 sits with multiple users on each. There are times inn the month where the traffic will be high. Right now it keeps crashing. I keep getting a 5002 or 5009 event.
  35. Charlie Arehart
    Trena, I'm afraid you're going to find that the answer to your simple question is not so obvious.

    There are several points to consider, and while I wish I could offer a condensed "TLDR" answer, I cannot (though others may try).

    Indeed, as I was writing this reply, and it got longer and longer, I was torn about writing a blog post instead and pointing to it. But in fact I would want to offer STILL MORE info, for that to stand on its own for posterity. :-)

    So instead I'll share what I found myself writing, in more and more detail even here. Apologies to those who HATE long emails, long comments, long blog posts, or just generally long answers to anything. If this question were easy, there wouldn't be so many people constantly in search of a good answer for it!

    And while Adobe has done a blog post on the topic, and it should help (and I do point to it below for Trena), there are some confusing things in it, which is something else I'd want to specifically address in a longer blog post.

    So in the meantime, here you go, Trena. And I'd welcome feedback from anyone, whether here or in a direct email to charlie@carehart.org. I would then build out a more complete blog post.

    1) So first, Trena, it's worth saying at the outset that your 500 errors may NOT have anything to do with the web server connectors and their configuration.

    There can be other reasons CF hangs up (and the CF logs and other diagnostics tools can help with that), but I'll assume you really believe or maybe even have evidence that connector config is your issue. And indeed, connector config problems are VERY common, for reasons I'll explain below.

    2) And to that, you ask simply you how many connectors you "should" have for a 5-site setup. Well, to be clear, some folks can do fine with just one connector (even with 5 sites or 20, or 2, or whatever), while others may opt to go with 5 connectors, one for each site. And either may STILL have problems that ARE due to the connectors, but it may NOT matter how much traffic goes to one or the other.

    The answer is usually not in "do you have enough connectors?" but more simply "are the ones you have properly configured?". In nearly all cases, they are not (unless people have considered the points I raise here, as others have indeed raised them in various forms elsewhere).

    3) What we're talking about are settings in the workers.properties file for each connector you have, and CF's server.xml file. Again, some of what I share is discussed also (imperfectly, in my opinion) in the Adobe post, http://blogs.coldfusion.com/post.cfm/coldfusion-11-iis-connector-tuning.

    I'm afraid no one can really tell you from a distance what your settings SHOULD be, but I can say that if you have done NO tuning of the connector settings and DID create 5 connectors, then you may well have trouble. There are three areas of concern you need to attend to.

    4) The first problem is that by default, when you create a connector, there is no setting for that connector's connection pool size, so you get a default of 250 (for IIS, https://tomcat.apache.org/connectors-doc/reference/workers.html).

    You can change that size with the connection_pool_size in the workers.properties file in each connector.

    There is also a corresponding value set on the CF side for the number of connections it can accept from all your connectors, as set in the maxThreads attribute on the AJP connector element in the CF's runtime/conf/server.xml file. If it's not set, it defaults to 200 (per https://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html).

    (Watch out to not confuse this with ANOTHER line in that server.xml file, which DOES set a maxThreads, but that's for the "http" connector, the built-in web server, usually showing a port attribute of 8500 or something like that, as opposed to the "ajp" connector which will set a port attribute to 8012 or something like that.)

    For most folks, the bigger problem is that when they have multiple connectors, like you do, the total number of connections those could try to enable would exceed that max value that CF is prepared to accept.

    In your case, with 5 connectors, and assuming you have no value set for connection_pool_size in the workers.properties files of your connectors, that would mean you are letting your web server (IIS or Apache) try to create 1250 connections (5 connectors times the default of 250 for the pool size), for a total of 1250, which is way beyond the default maxthreads in CF's server.xml file (which again, if not specified, is 200).

    If you DO get these values sized right on both sides (and whether you have 1 or 5 connectors), then your problems COULD go away, if indeed your problems are about just this ONE issue of connector pool sizing.

    (Also, note that you have to restart CF if you change the server.xml, and your web server if you change workers.properties.)

    5) Even with that set correctly, you then still do ALSO need to properly another value in the workers.properties: max_reuse_connections. Despite confusion on the web, from what my reading and experience can gather, this is about how many connections in each connector should be used by any one site sharing that connector. So it should be set to the connection_pool_size (remember, defaults to 250 for IIS if not set) divided by the number of sites using that connector.

    Sadly, the default of 250 is NOT good as soon as you have more than a single site sharing a connector, if you left things at their defaults.

    (And Adobe does address all this some in CF2016, where at least by default a new connector connection_pool_size to be 500, and a default maxthreads in server.xml of 500, and max_reuse_connections set to 250, all of which at least are good settings for a 2-site server.)

    But you're still not done. There's one more issue beyond the number of connectors, the number of connections total used among connectors, the number of connections CF will accept, and the number of connectors used per site within a connector (phew!).

    6) There is still the very important matter of the "idle connection timeout" for connectors, something which needs to be set on both the web server side (in workers.properties) AND in the CF side (in server.xml for the ajp connector). More in a moment.

    The problem is that in CF10 and 11, Adobe did not set such a timeout on either side at all. As such, previously used connections would last indefinitely--well, at least until the web server (or app pool in IIS) or CF was restarted. (This is why for some folks, restarting CF or the web server could "solve" a problem related to web server connections pooling, but only until it happened again. Proper configuration is the real answer.)

    The root of the problem (regarding connection timeouts) was that once a GIVEN connection had been assigned to handle requests for a GIVEN site (within a connector), then that connection remained assigned to THAT site only, long after the request was finished. And eventually, folks with multiple sites sharing a connector would find that one or more of the sites would not be able to obtain a new one.

    So nearly everyone should set a connection_pool_timeout (Again, I'll show how in a moment.) And Adobe does this now in CF2016, which attests to the importance. They set the timeout (on the web server config and the CF side) to 60 seconds.

    For most people this is a fine default for them to set in CF10 and 11 (and it's far, far better than the default of no timeout at all).

    You would set the connection_pool_timeout=60 in workers.properties (for each connector), and connectionTimout=60000 in server.xml for the AJP connector. (Yes, the latter is in milliseconds, and note that the server.xml attributes are case sensitive! If you miss that or mispell them, CF will come up but not be able to run any requests!) Again, restart the web server and CF for these changes to take effect.

    Note that this timeout value has NOTHING TO DO with how long requests take to run! Again, it's about *idle connections*: ones no longer in use but which will remain tied to whatever site they had run a request for, until they timeout.

    For many people, just changing this timeout could make a huge difference, in allowing old unused connections to be able to be used by other sites, even with improperly configured values for connection pool size and max reuse connections.

    7) This is all of course a lot to take in, and besides the Adobe blog post (which has hundreds of comments and questions/answers since it was posted in 2014, or for CF10 in 2012), there are also lots of people out there saying all kinds of things.

    My observations here come from my own experience helping hundreds of shops since then in dealing with these issues.

    8) Indeed, if you'd rather have some guided assistance in assessing and correcting these settings, I can offer help on a consulting basis. See carehart.org/consulting.

    (Before anyone cries foul at a sales pitch, please note I've given pretty much all one needs to know above. But as with most things, there can be nuances or other configuration changes in any given server to make it hard to work just with the basic info. Plus, not everyone relishes digging in such weeds and would love to have a guiding hand to eradicate them.)

    9) Finally, Trena, FWIW, notice that I have used the term "connectors" rather than "connection pools". The CF "web server config tool" creates connectors between CF and your web server, and while yes technically that does create a "pool of connections", the thing is you won't find the CF docs or most people referring to this matter as being about "connection pools" but rather about "connectors".

    HTH (hope that helps).
  36. Rahul Upadhyay
    Hi Trena,

    Can you please share your contact details on cf.install@adobe.com ? We will get in touch with you.

    Thanks,
    Rahul
  37. Charlie Arehart
    Trena (or anyone), any thoughts on the above that I shared?
  38. David McGuigan
    The download links don't work, asking for username and password.
  39. Charlie Arehart
    David, check out the top of the blog post: this "fix" (and the need of these jars) was replaced by the updates for CF10 and 11 which came out later. See the link offered there.
  40. David McGuigan
    The problem is you can't get to a CFIDE to apply an update if your install of CF 10 isn't successfully connected to your IIS site, so I need the update connector file first :'{
  41. David McGuigan
    Actually, for some reason on my new laptop the CF 10 installer just fails before it even starts. Is there an official Adobe link to the latest CF10 build online somewhere?
  42. Charlie Arehart
    Yep, David. Usually such an issue (running CF on a version it didn't support, so that the installer fails) is usually really about the java version embedded in the installer itself, not supporting that OS. And there are ways to get around that.

    But are you on CF10, as discussed in this post? If so, I may have a solution for you.

    While you're right that you can no longer CF11 or earlier available publicly on the Adobe site, but you can find them at a site called cfmlrepo.com (created by Gavin Pickin and contributed to by myself and others).

    And I just downloaded the CF10 installer there for Windows 64-bit and it did run just now on my Windows 10 machine. I didn't think they had created a new CF10 installer for 10, but it worked, so perhaps it will for you.

    Let us know how that goes for you. If it doesn't, I could share the details on how to run a CF installer on a later OS than it supported. It's not trivial, though it's pretty simple in concept once explained. I've been meaning to do a blog post on it anyway.
  43. Chris
    Why should someone have to configure CF10/11 to use the Internal server, apply patches, then reconfigure CF for IIS when Adobe has clearly posted two JAR files that fix the issue? If they would just give people the login info to download the jar file they need or allow anonymous login, people would be able to fix it without needing any assistance or having to go through multiple reconfigurations. Goodness, it's that simple. Thanks Adobe!

Leave a Comment

Leave this field empty: