отсутствует api-ms-win-core-registry-l1-1-0.dll

2

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

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

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

DeadMG
источник
Возможный дубликат Отсутствует api-ms-win-crt-runtime- | 1-1.0 dll , Этот вопрос должен быть закрыт как дубликат, автор явно отсутствует, Update for Universal C Runtime in Windows
Ramhound
Это также может быть дубликат superuser.com/questions/1224991/... или же superuser.com/questions/1281365/... или же superuser.com/questions/1278348/...
Ramhound

Ответы:

1

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

mart
источник
1

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

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

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

mohamed nader
источник
1

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

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

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

Simon Tremblay
источник
0

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

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

Journeyman Geek
источник
Эта конкретная DLL отсутствует в списке.
DeadMG
это действительно так, но запуск sfc все равно будет лучшим решением, если предположить, что это системный файл
Journeyman Geek
Он не нашел никаких "нарушений целостности".
DeadMG
0

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

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

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

SecurityMatt
источник
0

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

DeadMG
источник