2

Я скомпилировал относительно простую программу Direct3D9 на C++. Однако всякий раз, когда я пытаюсь использовать среду выполнения отладки, появляется эта ошибка. Согласно всем ссылкам, которые я нашел, эта библиотека не существует в Windows 7. Сначала я понял, что это проблема с моим приложением. Но я пошел в Центр обновления Windows и установил все последние обновления.

Теперь у меня есть другие приложения, которые не были затронуты, такие как Chrome, которые сообщают о той же самой проблеме - окно сообщения часто появляется. Я переустановил Visual Studio безрезультатно и запустил все последние исправления Windows, которые также не имели никакого эффекта.

Какие-либо предложения?

6 ответов6

1

У меня была такая же проблема с сообщениями api-ms-win: я не мог запустить какую-либо программу на своем компьютере, и единственным браузером, который работал, был Google Chrome.

Я решил проблему, когда обнаружил в Google, что за эту проблему отвечают обновления Windows. Сначала мне не удалось удалить последние обновления, поэтому я восстановил систему до последней даты перед обновлением (в основном обновления безопасности).

В Центре поддержки выберите Восстановить компьютер до более раннего времени. После восстановления вашего компа, конечно, измените настройки обновления Windows на ручной.

1

У меня была точно такая же проблема при запуске программы (Autodesk 3dmax) после удаления VS2011. Я исправил это, основываясь на подсказке, приведенной в ссылке. В моей системе я обнаружил, что у меня есть d3d9.dll и d3d9d.dll в windows\system и windows\syswow64. Дата / время для d3d9d.dll была с 2011 года, поэтому я удалил обе копии d3d9d.dll и оставил d3d9.dll в покое (с 2010 года). Это решило проблему для меня.

1

Когда я установил Visual Studio 11 Preview, он установил d3d9d.dll Windows 8 SDK также в папку C:\Windows\SysWOW64 .

Даже если вы удалите / переустановите DirectX SDK (июнь 2010 г.), он не будет переопределять эту версию d3d9d.dll поскольку она более поздняя, чем в DirectX июнь 2010 г. SDK ...

Поэтому я вручную заменяю его одним из установленных в C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Developer Runtime\x86 и теперь я могу запускать и отлаживать свою игру D3D9, когда активирую отладочную среду выполнения D3D9 из DirectX Control Группа ...

0

Единственное решение, которое я нашел, было просто переустановить Windows и никогда не приближаться к VS11 и устанавливать DX SDK до VS10. Теперь все работает правильно.

0

Файлы api-ms-win-core * - это виртуальные библиотеки, используемые Windows7. Похоже, что ваша программа работает в режиме совместимости (например, совместимость для Windows XP), но фактически скомпилирована для Windows 7.

Если это новое приложение, попробуйте изменить имя выходного файла EXE, чтобы сбросить состояние совместимости для программы.

Если это приложение, которое вы получили из Интернета или от друга, удалите его, а затем переустановите.

0

Учитывая, что это важный файл, попробуйте sfc /scannow, чтобы убедиться, что системные файлы все на месте?

Это указывает на то, что они связаны с файлами совместимости и существуют

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .