web-dev-qa-db-ja.com

Dependency Walker:dllが見つかりません

Dependency Walkerを使用して、実行可能ファイルの.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 201を使用して実行可能ファイルをコンパイルしました。最も興味深いのは、コンパイル中にエラーが発生しなかったことです。ただし、依存関係がないため、実行できません。依存関係ウォーカーのスクリーンショットも添付しました。

dependency walker

更新1:問題を解決するために、VSがコンパイル中に使用したライブラリのパスを$ PATHに追加しようとしました。運のない環境変数(Dependency Walkerは未解決の依存関係を示します)。

55
Batyr N.

これらはAPIセットです。 本質的に、余分なレベルの呼び出し間接化 Windows 7以降、徐々に導入されました。

これらはすべて偽陰性であり、心配する必要はありません。あなたは何も見逃していません。

API-MS-WIN-XXXXX.DLL、およびその他の依存関係ウォーカーグリッチについて も参照してください。


編集:2017年10月にようやく誰かがこのギャップを埋めようとしました。 lucasgによる依存関係 を満たす。私は今まで簡単にそれをいじりましたが、APIセットをうまく処理し、少なくとも非常に注目に値します。

63
Ofek Shilon

@Ofek Shilonが言ったことに加えて、私は通常、プログラムの欠落しているdllを見つけようとするときに、dependency_walkerが欠落していると特定した以下のdllを無視します。 dependency_walkerがこれらのdllが欠落していると言うと、プログラムが正常に実行されることがわかります。

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

上記以外のdllを検索して、問題を解決できます。

16
Tae-Sung Shin

私も無視します:

  • EFSCORE.DLL
  • WPAXHOLDER.DLL
2
botheredbybees