web-dev-qa-db-ja.com

ColdFusion8からColdFusion10への移行-移行が失敗する

ColdFusion 8StandardサーバーからColdFusion10 Standardサーバーへの移行を何度か試みた後、私は「ほぼ」そこにいるように感じます。アドビのWebサイトにある64ビットインストーラーを使用しています。

IIS 7.0のWindowsServer 2008(64ビット)サーバーを使用しています。

インストール自体はスムーズに進み、サービスが開始されて実行されます。ただし、インストールの最後に「ColdFusionがインストールされましたが、エラーが発生しました」と表示され、ログファイルが生成されます。

ログファイルには次の内容が含まれます。

移行エラー::「C:\ ColdFusion8」が有効なディレクトリであり、ColdFusion MX6またはColdFusionMX7のいずれかのインストールであることを確認してください

そしてさらに下に言う:

ステータス:警告

追記事項:警告-以前のバージョンのColdFusionから設定を移行できませんでした

カスタムアクション:

com.macromedia.ia.action.MigrateColdFusionAction

ステータス:エラー

追記事項:エラー-クラスcom.macromedia.ia.action.MigrateColdFusionAction NonfatalInstallException null

applicationHost.configファイルにはColdFusion 10ディレクトリを参照する新しいXMLがありますが、IISはまだColdFusion8を使用しています。Iまた、上記のログのメッセージに基づいて、CFAdministratorの設定が移行されていないと推測します。

ASP.NET [〜#〜] cgi [〜#〜] を確認するなど、Adobeのサイトの指示に従いました。 、 ISAPI拡張機能、および ISAPIフィルターはすべて有効になっています。 IIS 6メタベース互換性も有効にしましたが、必要ないと思います。

他の誰かがColdFusion10とIIS 7で同様の問題を抱えていましたか?現在、CF 10をアンインストールして、に戻りました。

2
XenoFoxx

CF8からCF10への移行に大きな変更が加えられました。

注意して、DB接続を再確認してください。CF10で提供される新しいコネクタがあります。

インストールフォルダも問題を引き起こす可能性があります。 ColdFusion8フォルダーのパスはc:/coldfusion8/libにありますが、ColdFusion10のパスはc:/coldfusion10/cfusion/libとは異なる方法で機能します。

2
Diwakar Gupta

インストール中に同じエラーが発生しましたが、CFIDEをロードするまでCFは実際の移行プロセスを実行しません。アップグレードプロセスを実行した後にCFIDEをオンラインにすると、実際のアップグレードプロセスが開始され、設定が移行されました。ただし、一部の設定はCF8からCF10に正しく移行されないため、手動で移行する必要があります。スケジュールされたタスクはそれらの項目の1つです。

このため、私は共存モードでセットアップを実行し、最初に設定をCF10サーバーに移行しています。その後、CF10を使用するようにWebサイトを変換するための優れたGUIツールがあります。ただし、私が見つけたツールの欠陥はIIS7/7.5にあり、古いCF8参照は削除されないため、手動で削除する必要があります。

1
brentil

唯一の問題が移行の失敗である場合は、移行を完全にスキップして、Coldfusion8/lib /neo-datasource.xmlからデータソースをコピーするだけです。

スケジュールされたタスクも必要な場合は、CF9から移行しましたが、それでも失敗しました。管理APIとこのようなスクリプトを使用して、タスクを取得しました。他の設定はごくわずかで、直接構成しました。

<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>
1
Clarence Liu

Regeditツールを使用して「C:\ ColdFusion」でレジストリ値の検索を実行し、CFバージョンとインストールファイルパスの間にマッピングの異常があるかどうかを確認します。また、IIS管理コンソールの設定を調べて、.cfm拡張子と.dll(ハンドラー)の間のハンドラーモジュールのマッピングを確認します。インストーラーが以前のバージョン6を探しているという事実または、バージョン8のインストールが存在することを示唆するパスを持つディレクトリにインストールされたCFの7は、マッピングの問題のように思えます。バージョン6または7のダーティアンインストールで、以前にすべてのレジストリ設定が削除されなかった可能性があります。一部はバージョン8の設定を反映するように更新されましたか?

1
Chris