1

いくつかのアプリケーションで使用されているため、GACにインストールされている.NETDLLがあります。

これらの1つは、.NETのCOM相互運用機能を使用してDLLを参照するExcelワークブックです。COMtlbファイルがアプリケーションディレクトリにインストールされます。

DLLの更新バージョンがインストールされている場合を除いて、これはすべて正常に機能します。一部のPCでは、ブック内のCOM参照が壊れます(「欠落」と表示されます)。関連するマクロを実行すると、Excelがクラッシュします。これは、VBAエディター内で欠落している参照のチェックを外し、DLLへの参照を再度追加することで修正できますが、ユーザーが開くたびにこれを行う必要はありません。

関連するすべてのオブジェクトとメソッドの署名は変更されておらず、変更されないGUIDで装飾されています。

参照が壊れた理由はありますか?

編集:レジストリの詳細を調査したところ、インストール時にCOM登録が正しく行われていないようです。ただし、これはインストールの失敗としては表示されませんでした。しかし、根本的な原因を見つけることにまだ近づいていません。

4

1 に答える 1

0

ここでも問題が発生しました。そのため、パッチ プログラムは常に gacutil.exe /cdl を実行してダウンロード キャッシュをクリアします。ブラウザー経由でアセンブリをダウンロードしなかったため、このソリューションは意味がありませんでしたが、役に立ちました。役立つかどうかを確認するには、gacutil.exe /l を実行して、アセンブリがダウンロード キャッシュにあるかどうかを確認してください。

また、何らかの理由で gacutil はフレームワークと共に再配布されないため、最初に問題のシステムにコピーする必要があることに注意してください。

于 2009-02-17T12:21:16.443 に答える