ColdFusion9.0.2: 一部環境で32bit版ColdFusion9.0.2をインストールしてもCOMが動作しない

32bit版ColdFusion9.0.2で、COMを使用したプログラムを実行すると、一部のWindows環境で下記のエラーが発生する場合があります。

 

  • [cf902_root]/runtime/logs/coldfusion-out.log

    (初回実行時)
    04/23 17:18:30 error ROOT CAUSE: 
    java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1028)
    at com.linar.jintegra.NativeObjRef.q(Unknown Source)
    at com.linar.jintegra.Dispatch.a(Unknown Source)
    at com.linar.jintegra.Dispatch.isNativeMode(Unknown Source)
    at com.linar.jintegra.Dispatch.createDispatch(Unknown Source)
    at com.linar.jintegra.Dispatch.<init>(Unknown Source)
    at com.intrinsyc.typeInfo.IMacroViewerProxy.<init>(IMacroViewerProxy.java:32)
    at com.intrinsyc.typeInfo.MacroViewer.<init>(MacroViewer.java:90)
    at com.intrinsyc.typeInfo.MacroViewer.<init>(MacroViewer.java:69)
    at com.intrinsyc.typeInfo.InterfaceInfoFactory.getClsidAsStringGivenProgId(InterfaceInfoFactory.java:138)
    at coldfusion.runtime.com.KnownObjectClassMap.get(KnownObjectClassMap.java:79)
    at coldfusion.runtime.com.ComProxy.<init>(ComProxy.java:81)
    at coldfusion.runtime.com.ComProxyFactory.getProxy(ComProxyFactory.java:41)
    at coldfusion.runtime.ProxyFactory.getProxy(ProxyFactory.java:65)
    at coldfusion.runtime.CFPage.createObjectProxy(CFPage.java:4947)
    at coldfusion.tagext.lang.ObjectTag.doStartTag(ObjectTag.java:427)
    at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2722)
    at cfcom2ecfm67424132.runPage(C:\ColdFusion9\wwwroot\com.cfm:2)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
    at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
    ...

    (2回目以降の実行時)
    04/23 17:20:29 Error [web-1] - COM  object のインスタンスを生成する際に、例外が発生しました。
    この例外の原因 : java.lang.RuntimeException: Can not use native code: Initialisation failed。 インクルードまたは処理されたファイルの特定のシーケンス :C:\ColdFusion9\wwwroot\com.cfm, line: 2
     

このエラーが発生している場合、ColdFusion起動時の設定ファイルで、COMの呼び出しを行うライブラリへのパスが欠落している可能性があります。対応としては、設定ファイルにライブラリ・パスを手動で追加下さい。

手順

  1. OSのサービスの一覧から「ColdFusion 9 Application Server」を選び、サービスを停止します。
  2. エクスプローラーで[cf902_rooot]\runtime\binを開き、jvm.configファイルをバックアップします。
  3. jvm.configファイルをテキスト・エディターまたはメモ帳で開きます。
  4. ファイル内の java.library.path= の設定箇所を探します。
    • ​# where to find shared libraries
      java.library.path={application.home}/../lib
  5. java.library.path= の既存の設定の後に COMの相互運用を行う jintegra へのパス(,{application.home}/../jintegra/bin,{application.home}/../jintegra/bin/international)を追加して下さい。
    • java.library.path={application.home}/../lib

      java.library.path={application.home}/../lib,{application.home}/../jintegra/bin,{application.home}/../jintegra/bin/international
      ※改行などは含めないで、一行で記載下さい
      (ブラウザで表示した際に改行されているように見えるかもしれませんが改行は入れないで下さい)
  6. ファイルを保存して閉じてください。
  7. 「ColdFusion 9 Application Server」サービスを起動します。
    • エラーが発生して起動ができない場合は、ファイルの内容の見直しは、バックアップした作業前のファイルと差し替える等の確認を行って下さい。
  8. COMを使用するプログラムの動作を確認下さい。

 

尚、ColdFusion 9 には、32bit版と 64bit版の2種類が用意されていますが、COMとの相互運用性の機能は64bit版ColdFusionでは対応しておらず動作致しません。

(参考)
64bit版ColdFusionで機能の制限等はありますか?

 

記事公開日:2013年04月23日
最終更新日:2013年04月26日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.