Api-ms-win-core-memory-l1-1-3.dll — как скачать и исправить ошибки

Как исправить ошибки api-ms-win-core-memory-l1-1-3.dllПри запуске каких-либо игр и программ в Windows 8/8.1 или Windows 7 пользователи могут получить сообщение об ошибке «Запуск программы невозможен, так как на компьютере отсутствует api-ms-win-core-memory-l1-1-3.dll» или аналогичная ошибка «Не удаётся продолжить выполнение кода, поскольку система не обнаружила…» с указанием того же файла.

В этой инструкции подробно о том, что это за файл, как его скачать и других способах исправить ошибку, если вы с ней столкнулись.

Причины ошибки

Сообщение об ошибке: Запуск программы невозможен, так как на компьютере отсутствует api-ms-win-core-memory-l1-1-3.dll

Файл api-ms-win-core-memory-l1-1-3.dll — это не совсем DLL, а вызов функций с помощью API Sets. Например, в Windows 11/10 этого файла вы не найдёте, однако та же программа не сообщит об ошибке. Как это работает:

  • В Windows есть наборы API Sets, где указывается, какие функции и из каких системных DLL вызывать, если программа запрашивает ту или иную библиотеку «api-ms…» (которая по факту чаще всего отсутствует на диске). То есть, когда программа обращается к такому файлу, система «перенаправляет» её вызовы на соответствующую системную DLL (например, kernelbase.dll, ucrtbase.dll и другие), используя для этого специальную схему переадресации.
  • При запуске программы в старой версии ОС Windows перенаправления для определённых DLL в системе могут отсутствовать, так как появились в более поздних версиях системы. Результат — сообщение об ошибке, связанной с файлом библиотеки.

Поддержка функций l1-1-3 появилась лишь в Windows 10, потому главная причина сообщений об отсутствии api-ms-win-core-memory-l1-1-3.dll — старая версия ОС на вашем компьютере и лучшее решение, если это возможно — обновиться до актуальной версии системы.

Если вы используете утилиту Dependencies GUI для анализа зависимостей исполняемых файлов от других файлов и откроете с помощью неё исполняемый файл программы в новой ОС, вы увидите, что вызываемые функции api-ms-win-core-memory-l1-1-3.dll находятся в системной библиотеке ядра kernelbase.dll:

Переадресация вызовов функций для файла api-ms-win-core-memory-l1-1-3.dll

В старых ОС (Windows 7, 8, 8.1) результат будет иным, отображаться будут лишь сообщения об ошибках, так как нет ни самого файла, ни записей в схеме переадресации для него:

Отсутствие переадресации в API Sets старой ОС

Способы исправить ошибку

Как было отмечено выше, лучший способ — обновление системы до Windows 11/10, это точно исправит рассматриваемую ошибку, поскольку в этих системах всё нужное уже присутствует.

Также отмечу, что скачивание и установка Visual C++ Redistributable, рекомендуемая многими, для данного конкретного случая ничего не поменяет, ни рассматриваемая DLL, ни вызываемые ею функции не имеют отношения к библиотекам C++, о чем прямо говорит «api-ms-win-core» (функции ядра Windows).

Однако, способы решения, которые могут сработать и без обновления ОС, есть:

  1. Загрузка так называемых Stub DLL, по сути, пустых DLL файлов, которые выполняют единственное действие: перенаправление вызовов новых программ к функциям в системных библиотеках старых версий Windows. Безопасный варианты api-ms-win-core-memory-l1-1-3.dll можно скачать по этой ссылке, желательно обе версии — x64 и x86. Первую, x64, скопируйте в папку System32 (может показаться не логичным, но это правильный путь), вторую, x86 — в папку C:\Windows\SysWOW64. Это вполне может сработать для рассматриваемой библиотеки, поскольку взаимозаменяемые варианты функций управления памятью содержатся и в старых системах.
  2. Использование VxKex — инструмента, который после установки добавляет новую вкладку в свойствах исполняемых файлов. На вкладке VxKex можно включить особый режим совместимости, автоматически выполняющий такие перенаправления вызовов в старых версиях Windows. Там же присутствует опция, позволяющая сделать так, чтобы программа считала, что запущена в более новой версии системы, на случай если в ней присутствует такая проверка. Важно: утилита может блокироваться антивирусами и всё под вашу ответственность, а перед установкой я настоятельно рекомендую создать точку восстановления системы.Вкладка VxKex в свойствах исполняемого файла

Дополнительный нюанс: все описанные действия могут привести к тому, что ошибка отсутствия api-ms-win-core-memory-l1-1-3.dll будет исправлена, однако вы увидите новые сообщения об ошибках DLL.

Причина не в том, что вы что-то сделали не так, а в том, что программа, разработанная для Windows 11/10 может иметь куда больше, чем один новый вызов к API Sets. Более того, если в старых версиях системных библиотек нет нужной функции (или аналогичной), то и методы, предложенные выше, также не сработают, за исключением главного — обновления системы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *