21

実行可能ファイルの.dll依存関係を依存関係ウォーカーで解決しようとしています。現在、私は次の形式で行方不明の.dllを取得しています:依存関係ウォーカー:DLLがありません

API-MS-WIN -xxx

EXT-MS-WIN例えば -xxx

API-MS-WIN-APPMODEL-IDENTITY-L1-2-0.DLL 
API-MS-WIN-APPMODEL-RUNTIME-INTERNAL-L1-1-0.DLL 
API-MS-WIN-BASE-UTIL-L1-1-0.DLL 
API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL 
EXT-MS-WIN-RTCORE-NTUSER-SYSCOLORS-L1-1-0.DLL 

誰でもこれらの問題を解決する方法はありますか? ご協力いただければ幸いです!

追加情報:Visual Studio 2013を使用して実行可能ファイルをコンパイルしました。最も興味深いのは、コンパイル中にエラーが発生しなかったことです。しかし、依存関係がないため実行できません。私はの$ PATHにVSは、コンパイル時に使用されるライブラリのパスを追加しようとした問題を解決するための試みとして:

dependency walker

アップデート1:私はまた、依存関係ウォーカーのスクリーンショットを添付しました(依存関係ウォーカーは未解決の依存関係を示しています)。

+0

あなたはどのようなコンパイラやIDEを使用していますか? – kizeloo

+0

@kizelooありがとうございました!私はVisual Studio 2013を使用しています。 –

答えて

27

これは、Windows 7以降に徐々に導入されているAPIセット-essentially, an extra level of call indirectionです。依存関係ウォーカーの開発はこれまでずっと停止しており、APIセットを適切に処理することはできません。

これらはすべて偽陰性であり、心配することはありません。あなたは何も欠けていない。

On API-MS-WIN-XXXXX.DLL, and Other Dependency Walker Glitchesも参照してください。


編集:2017年10月にのみ、このギャップを埋めるように最終的に試みました。 Meet Dependencies by lucasgをご覧ください。私は今までこれまで簡単に手を加えていませんでしたが、APIセットをうまく扱い、少なくとも注目に値するものです。

+0

優れたIntel! :-)しかし、それは "偽陰性"の代わりに "偽陽性"ではないでしょうか?ちょうどニックピッキング、これは私のための今日の最高の新しい情報でした。 「依存関係」のテストを楽しみにしています。ありがとう! –

11

@Ofek Shilonが言ったことに加えて、私は自分のプログラムのDLLが見つからないときにdependency_walkerが見つからなかったdllを無視します。 dependency_walkerがこれらのdllが見つからないとあなたのプログラムが正常に動作することがわかります。

  • API-MS-WIN - 。* DLL
  • EXT-MS-WIN - 。* DLL
  • IESHIMS.dll
  • EMCLIENT.dll
  • DEVICELOCKHELPERS.dll

問題を解決するために、上記以外のDLLを検索することができます。

関連する問題