サード パーティ アプリケーション (スクリプトに VBA を使用) から読み込まれる COM DLL を作成しました。
起動時に、後でそのインスタンスを見つけるために、値がアプリケーションによって DLL に渡されます。
この (管理されていない) 値は、私が作成したアプリケーションに固有の型でstatic
あり、グローバルです (どのクラスにも属しません)。
DLL がレジストリに正しく登録され ( regasm
.
DLL は、システムのディレクトリ (つまり、System32 または SysWoW64) に配置されます。
Windows XP では、DLL は魔法のように機能しますが、Windows 7 (64 ビット) では、静的な値が null になるという問題があります。ただし、DLL の残りの部分は問題なく動作しますが、この値だけにバグがあります。
一方、システム以外のフォルダに DLL を配置しても問題ありません。
GC が値を破壊すると思うのですが、static と unmanaged があるので無理です。
それはGCの問題ですか?システムのフォルダが (管理者権限があっても) 機能しないのはなぜですか? Windows7 の特徴はありますか?