署名を変更せずに長い間使用しているヘルパー DLL がありsystem32
、すべての製品で使用するためにそれをコピーします。エクスポート リストに関数を追加してコンパイルすると、すべてが見えます。 OK、指定された関数を含む新しい DLL があります。私の問題は、system32
指定された関数にコピーすると見つからないことです。何らかの形でキャッシュからコピーされ、古いバージョンがロードされるように見えるため、新しい関数に依存するプログラムは失敗します! 何が問題なのか誰か知っていますか?
質問する
202 次
2 に答える
2
ほとんどの場合、64 ビット システムを使用しています。ファイルを 64 ビット システム ディレクトリ system32 にコピーします。ただし、ファイル システム リダイレクタがあるため、32 ビット アプリケーションは 32 ビット システム ディレクトリ SysWOW64 からそれをロードします。
SysWOW64にコピーして問題を解決してください。
あなたはおそらくこれを知っていますが、とにかくそれを言わざるを得ないと感じています. システム ディレクトリはシステムに属しており、書き込みを行うべきではありません。
于 2013-04-03T08:18:48.657 に答える
0
このコマンドを使用して、dll キャッシュをクリアします。これは、Win XP および Win 7 でテストされています。
sfc /purgecache
このコマンドまたは「管理者として実行」を実行するには、管理者である必要があることに注意してください。これで問題が解決するかどうかは 100% 確実ではありません。
于 2013-04-03T08:18:29.883 に答える