Word と Excel の自動化を行う C# プログラムがあり、Office 2003 Primary Interop Assemblies を使用していました。私がそれを展開した方法は、ビンに相互運用機能を含めることであり、GAC から参照するのではなく、プログラムにそこから参照させました (あまり専門的ではありませんが、何年も機能していました)。最近、3 台のマシンに Office 2007 互換性パックがインストールされましたが、ソフトウェアが Word または Excell を起動しようとすると、次のエラーが表示されます。
タイプ Microsoft.Office.Interop.Word.ApplicationClass の COM オブジェクトをインターフェイス タイプ Microsoft.Office.Interop.Word.Application にキャストできません。IID {00020970-0000 のインターフェイスの COM コンポーネントで QueryInterface 呼び出しが行われたため、この操作は失敗しました-0000-C000-000000000046} は次のエラーにより失敗しました: ライブラリが登録されていません。(HRESULT からの例外: 0x8002801D (TYPE_E_LIBNOTREGISTERED))
いくつか検索した結果、互換パックをインストールすると、Word11 と Word12 の両方が GAC にインストールされ、Excel と同じであることがわかりました。
プログラムで GAC の Word11 相互運用機能を参照しようとしましたが、まだ助けがありません。Word12 相互運用機能をアンストールしましたが、まだ助けがありません。これをインストールすると、一部のレジストリ設定が変更されたか、ソフトウェアが混乱して正しいライブラリが見つからないように見えます。
誰かアイデアはありますか?