在做了几次尝试从ColdFusion 8 Standard服务器迁移到ColdFusion 10 Standard服务器之后,感觉就像我“差不多”在那里。 我使用Adobe网站的64位安装程序。
我正在使用IIS 7.0的Windows Server 2008(64位)服务器。
安装本身顺利,服务启动并正在运行。 但是在安装结束时,它会显示“ColdFusion Installed,但有错误”,并生成一个日志文件。
日志文件如下所示:
迁移错误::检查“C:\ ColdFusion8”是否是有效的目录,并且是ColdFusion MX 6或ColdFusionMX 7的安装
并进一步说:
状态:警告
其他注意事项:警告 – 无法从早期版本的ColdFusion迁移设置
自定义操作:
com.macromedia.ia.action.MigrateColdFusionAction
状态:错误
附加说明:错误 – 类com.macromedia.ia.action.MigrateColdFusionAction NonfatalInstallException null
applicationHost.config文件具有引用ColdFusion 10目录的新XML,但IIS仍在使用ColdFusion 8.我还猜测CF Administrator中的设置没有根据上面日志中的消息进行迁移。
我已经按照Adobe的网站上的指示,包括确保ASP.NET , CGI , ISAPI扩展和ISAPI筛选器都启用。 我也启用了IIS 6元数据库兼容性,即使我不认为这是必要的。
有其他人有与ColdFusion 10和IIS 7类似的问题。目前,我已经卸载CF 10,并恢复到
从CF8移植到CF10已经发生了重大变化。
小心并仔细检查数据库连接,CF10中提供了新的连接器。
安装文件夹也可能造成问题。 ColdFusion 8文件夹的path位于c:/coldfusion8/lib但ColdFusion 10的path以不同的方式工作为c:/coldfusion10/cfusion/lib 。
我将使用regedit工具在“C:\ ColdFusion”上执行registry值search,以查看CF版本和安装文件path之间是否存在一些映射exception。 我还会在IISpipe理控制台设置中查看.cfm扩展名和.dll(处理程序)之间的处理程序模块映射。 安装程序正在寻找一个以前的版本6或7的CF安装到一个path,build议版本8安装的目录安装在那里的事实似乎像一个映射问题对我来说。 也许有一个版本6或7的肮脏卸载不会删除所有的registry设置之前,一些更新,以反映版本8的设置?
如果唯一的问题是迁移失败,也许完全跳过迁移,只需从Coldfusion8 / lib / neo-datasource.xml复制数据源即可。
如果你也需要你的计划任务,我从CF9迁移,但仍然失败,我只是使用pipe理API和这样的脚本 – 让他们进来。其他设置是微不足道的,我只是直接configuration他们。
<cffile action="read" file="C:\your file here" variable="fileNeoCron"> <cfwddx action="wddx2cfml" input="#fileNeoCron#" output="wddxOut"> <cfset oCron = wddxOut[1]> <cfoutput> <cfloop list="#ListSort(StructKeyList(oCron), "textnocase")#" index="sKey"> <cfset oCurCronJob = oCron[sKey]> #oCurCronJob.task# - <cftry> <cfif StructKeyExists(oCurCronJob, "end_time")> <cfschedule action="update" task="#oCurCronJob.task#" operation="httprequest" url="#oCurCronJob.url#" startdate="#dateformat(now(), "mm/dd/yyyy")#" starttime="#oCurCronJob.start_time#" endTime="#oCurCronJob.end_time#" interval = "#oCurCronJob.interval#" requestTimeOut = "600"> <cfelse> <cfschedule action="update" task="#oCurCronJob.task#" operation="httprequest" url="#oCurCronJob.url#" startdate="#dateformat(now(), "mm/dd/yyyy")#" starttime="#oCurCronJob.start_time#" interval = "#oCurCronJob.interval#" requestTimeOut = "600"> </cfif> OK <cfcatch> ERROR <cfdump var="#cfcatch#"> </cfcatch> </cftry> </cfloop> </cfoutput>
我在安装过程中遇到了同样的错误,但是在加载CFIDE之前,CF并没有执行实际的迁移过程。 在升级过程中使CFIDE联机启动实际升级过程并迁移我的设置。 但是某些设置不能正确地从CF8迁移到CF10,需要手动迁移。 计划任务是这些项目之一。
正因为如此,我正在以共存模式进行设置,并将设置转移到CF10服务器。 之后,他们现在有一个很好的GUI工具来转换网站使用CF10。 然而,我发现的工具中的缺陷是在IIS7 / 7.5,它不会删除旧的CF8引用,所以你必须手动删除这些。