0

従来の ASP アプリケーションを IIS6 から IIS7.5 に移行していますが、COM の依存関係に問題があります。

これが問題のコードです

SET o = Server.CreateObject("ClassName")
Response.Write "Returned object: " & TypeName(o) 
result = o.SomeMethod() 

最初の行は成功し、2 行目は「返されたオブジェクト: クラス名」を出力します。

3 行目はエラーで終了します

  • エラー: 429
  • ソース: プロバイダー
  • 説明: クラスが登録されていません

それが 32 x 64 ビットの問題であるかどうかはわかりません (サーバーは 64 ビットで、古いサーバーは 32 ビットでした)。ただし、アプリケーション プールの [32 ビット アプリケーションを有効にする] プロパティを True に設定しました。

Server.CreateObject がオブジェクトを返し、実際に失敗するのはメソッド呼び出しであることは正常ですか?

WIX スクリプトを使用して COM クラスを登録しています (この部分では変更を加えていません)。Computer\HKEY_CLASSSES_ROOT\Wow6432Node のレジストリでクラスを見つけることができます。

ポインタをいただければ幸いです。これは私を夢中にさせます。

4

1 に答える 1

0

ClassName のインスタンスを取得しました。オブジェクトの作成にエラーはなく、TypeName はそれを確認します。したがって、コンポーネントは正しく登録されています。

しかし、呼び出しているメソッドから使​​用される別のコンポーネントを参照していますか? クラス内から制御されていないエラーが発生しているようです。

于 2013-10-18T19:20:08.073 に答える