従来の 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 のレジストリでクラスを見つけることができます。
ポインタをいただければ幸いです。これは私を夢中にさせます。