2009-06-11 7 views
0

Windows 2000のユーザーのために、アプリケーションのディレクトリにapplication with a DLLを展開する必要があります.DLLは、後でWindows XPにシステムDLLとして同梱されています。最初にシステムDLLを使用するようにウィンドウのフュージョンローダーを教えてください。

Windows XPは、アセンブリの依存性を解決するためにMicrosoftがFusionローダーを導入したときもありました。

私のフォルダにdllのバージョンを使用しないように指示することはできますが、その代わりに常に最新バージョンをそのDLLのシステム提供バージョンで使用しますか? Windows 2000にはFusionローダーもdllもないので、私のフォルダにあるバージョンを使うだけでしょうか?

+0

に正確にパス を指定することが可能となりますアプリケーションディレクトリには、システム内の何かの代わりにロードされます。これは少なくともD3Dデバッガの動作方法です。 – OregonGhost

+0

これは.NETアプリですか? – Kev

+0

@OregonGhost:私は反対をしたい。いくつかのシステムバージョンが存在する場合は、アプリケーションディレクトリにdllをロードしないようにします。 –

答えて

0

Windows 2000では、DLLがアプリケーションフォルダにない場合、DLLの標準ロードパス($ PATHの動作方法と同じような)を使用します。あなたのアプリがXP上で行うことは、あなたがApp Manifestを持っているかどうか(つまり、バージョンを指定するかどうか)によって異なります。

+0

私の問題を解決するのに役立つApp ManifestがないかどうかによってXPの動作は異なりますか? –

0

Windowsでは実行できません。 現在のディレクトリのDLLが常に最初にロードされます。私はあなたがそれを 動的にDLLをロードする方法で、アプリケーションを変更することをお勧めでき あなたが、DLLを供給する場合、私は思うのLoadLibraryのパスを変更するか、DLL

関連する問題