実行可能ファイルに問題があります。この C++ 32 ビット実行可能ファイルを、Microsoft アプリケーション (Visual Studio 2008 + 2010、TFS、SDK、Microsoft Office) がすべて含まれている Windows 7 64 ビット開発ボックスで実行しています...それでも問題なく動作しています。
今、まったく同じプログラムのクライアント インストールを取得し、クリーンな Windows 7 インストールでテストするように求められました。したがって、Windows 7 64 ビット VMware を 1 つ入手し、それを Windows 7 SP 1 に更新しました (私の開発ボックスがチューニングしているバージョンとまったく同じです)。しかし、私の開発者ボックスではすべて問題ありませんが、プログラムは VMware (30 日間トライアル) ボックスでは動作しません。
x86 Dependency Walkerから、次の DLL ファイルが見つからないというメッセージが表示されます。
- API-MS-WIN-CORE-COM-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
- API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
- DCOMP.DLL
- GPSVC.DLL
- IESHIMS.DLL
私はこれらの API-MS-WIN-... DLL ファイルをグーグルで検索し、実際には既に Windows 7 の一部である必要があることを発見しました (一部のサイトでは、Windows 8 および Windows Server 2012 に属していると主張しています)。
私が見つけた提案された修正をすでに試しました。
- 「sfc /scannow」を実行しています
- Visual Studio 2008 SP1 ランタイム実行可能ファイルのインストール
しかし、それは何も解決しませんでした。:-(
補足: 私の開発ボックスにもそれらはなく、必要もないようです。たとえば、私のボックスの user32.dll はそれらのいずれかにリンクしませんが、VMware へのインストールはリンクします。
この問題を解決する方法について何か考えはありますか? Microsoft のページで適切なダウンロード/修正プログラムを見つけようとしましたが、失敗しました。
問題を解決した後、発見したことを報告したかったのですが、質問が閉じられているため、これを回答として投稿できません。
実際には、Dependency Walker ツールによって見つからないと報告されたすべての DLL ファイル、つまり
* API-MS-WIN-CORE-...
タイプ DLL ファイルは、実際の問題の一部ではありませんでした。
私の場合、3 つの OCX ファイルの登録が欠落しており、その後はすべて問題ありませんでしたが、プログラムが正常に実行されていた場合でも、Dependency Walker ツールは以前とまったく同じ DLL ファイルをすべてリストしました。
その要点: 他の誰かが述べたように、このツールは今では少し時代遅れであり、新しい OS では常に適切に動作するとは限りません。したがって、目を離さず、'API-MS-WIN-CORE-COM-L1-1-0.DLL' を見逃して誤解を招かないようにしてください。問題はおそらく完全に別の場所にあります。