TCP/IP 通信用に C# (.NET Framework v2 を対象) で記述された COM+ コンポーネントを呼び出す従来の VB6 アプリケーションがあります。
この操作モードは、さまざまなオペレーティング システムで機能し、Windows XP、Vista、および 7 環境に正常に展開されています。
Windows 8.1 でソフトウェアのテストを開始したところですが、VB6 アプリケーションが COM+ コンポーネントを呼び出そうとすると、「オートメーション エラー」が報告されます。過去に発生したこの種のエラーは、COM+ 登録の失敗が原因であり、regsvcs.exe
.
ソフトウェアは MSI によってインストールされ、MSI は regsvcs.exe を呼び出して COM+ コンポーネントを登録するスクリプトも実行します。Win 8.1 の場合、次のパスを変更する必要がありregsvcs.exe
ました。
C:\Windows\Microsoft.NET\Framework\v2.0.50727
に:
C:\Windows\Microsoft.NET\Framework\v4.0.30319
このインストーラーは、Win 7 と Win 8.1 の両方でテストしました。Win 7 では、COM+ 呼び出しは正常に機能します。Win 8.1 で発生している問題は、COM+ コンポーネントが正しく登録されているように見えるのに、コンポーネントの呼び出しがまだ失敗することです。コンポーネント サービスではすべて問題ないように見え、VB6 呼び出しが行われると COM+ アプリケーションが起動しますが、オートメーション エラーが返され、呼び出しは失敗します。
注: 私がテストしている Win 7 および 8.1 環境は 64 ビットです。
Windows 7 と Windows 8.1 の間でコンポーネント サービスと COM+ アプリケーションに関連する何かが変更されたようですが、解決策が見つからないようです。
誰かが同様のことを経験したことがありますか、または問題が何であるかについての指針はありますか?