私はC#dllを持っており、regasmを使ってtlbを生成します。私は、このtlbを使用するユーザにユーティリティスプレッドシートを与えました。 tlbは登録解除され、アプリケーションの新しいバージョンがリリースされるたびに(regasm.exeを使用して)登録されます。Tlbの新しいバージョンをリリースし、Tlbを再参照する必要がある場合
しかし、新しいリリースの後にユーザーがスプレッドシートを使用しているときに、タイプのオブジェクトを作成するコード行に 'アクティブなコンポーネントはインスタンスを作成できません'というエラーがスローされます。私はtlb参照を削除して追加するだけでこれを修正します。 (vbaモード - ツール - リファレンス - tlb-saveのチェックを外し、再度追加します)。しかし、これはすべてのユーザーにとってこれを行うことができないので、苦しいです。
シナリオを再現するためにいくつかのテストを行いました。 DLLのバージョン番号を変更して再登録する、インターフェイスに新しいメソッドを追加して再登録するなど。しかし、すべての場合、スプレッドシートは、tlb参照を削除して再追加することなく正常に動作します。
だから、スプレッドシートでtlbを参照として再追加する必要があるシナリオと、その原因となる可能性があるのは混乱しています。どんな助けもありがとうございます。
おかげで、 マニ
間違いなく有用です。 –
これがなぜ起こるのか他の可能な理由は見当たらないので、答えとして受け入れます。このツールは便利で、procmonが役に立ちます。しかし、これを解決できる1つの修正がまだまだわからない。 –