Как вы решаете ошибки microsoft visual c ++ runtime? [краткое руководство]
Содержание:
- Visual Studio 2015, 2017, 2019, and 2022
- Ошибка Microsoft Visual C++ Runtime Library. Как исправить?
- Locate the redistributable files
- Еще несколько вариантов
- new And delete Operators
- Причины появления ошибки
- Visual Studio 2013 (VC++ 12.0)
- What problems exist if an application uses more than one CRT version?
- Ошибка из-за некорректного имени учетной записи
- Ошибка Microsoft Visual C++ Runtime Library. Как исправить?
- Ошибка из-за некорректного имени учетной записи
- Решение
- Referencing manually the VC Runtime framework packages from converted desktop apps:
Visual Studio 2015, 2017, 2019, and 2022
This table lists the latest supported English (en-US) Microsoft Visual C++ Redistributable packages for Visual Studio 2015, 2017, 2019, and 2022. The latest supported version has the most recent implemented C++ features, security, reliability, and performance improvements. It also includes the latest C++ standard language and library standards conformance updates. We recommend you install this version for all applications created using Visual Studio 2015, 2017, 2019, or 2022.
Architecture | Link | Notes |
---|---|---|
ARM64 | https://aka.ms/vs/17/release/vc_redist.arm64.exe | Permalink for latest supported ARM64 version |
X86 | https://aka.ms/vs/17/release/vc_redist.x86.exe | Permalink for latest supported x86 version |
X64 | https://aka.ms/vs/17/release/vc_redist.x64.exe | Permalink for latest supported x64 version. The X64 redistributable package contains both ARM64 and X64 binaries. This package makes it easy to install required Visual C++ ARM64 binaries when the X64 redistributable is installed on an ARM64 device. |
Download other languages and versions, including versions for long term servicing release channels (LTSC), from my.visualstudio.com.
Note
Some of the downloads that are mentioned in this article are currently available on my.visualstudio.com. Make sure to log in by using a Visual Studio Subscription account so that you can access the download links. If you’re asked for credentials, use your existing Visual Studio subscription account. Or, create a free account by selecting the link in No account? Create one!.
Notes
-
Visual Studio versions since Visual Studio 2015 share the same redistributable files. For example, any apps built by the Visual Studio 2015, 2017, 2019, or 2022 toolsets can use the latest Microsoft Visual C++ Redistributable. However, the version of the Microsoft Visual C++ redistributable installed on the machine must be the same or higher than the version of the Visual C++ toolset used to create your application. For more information about which version of the Redistributable to install, see Determining which DLLs to redistribute.
-
Windows XP Support: Microsoft ended support for Windows XP on April 8, 2014. Current versions of the Visual C++ Redistributable for Visual Studio 2015-2022 only support Windows Vista, 7, 8.1, 10, and 11. The last version of the Visual C++ Redistributable that works on Windows XP shipped in Visual Studio 2019 version 16.7 (file versions starting with 14.27). The redistributable is available in the my.visualstudio.com Downloads section as Visual C++ Redistributable for Visual Studio 2019 — Version 16.7. Use the Search box to find this version. To download the files, select the platform and language you need, and then choose the Download button.
Ошибка Microsoft Visual C++ Runtime Library. Как исправить?
Здравствуйте.
Не так давно помогал одному хорошему знакомому с настройкой компьютера: у него при запуске любой игры выскакивала ошибка Microsoft Visual C++ Runtime Library… Так собственно и родилась тема этого поста: опишу в нем подробные шаги по восстановлению работоспособности ОС Windows и избавлению от этой ошибки.
И так, начнем.
Вообще, ошибка Microsoft Visual C++ Runtime Library может появиться по многим причинам и разобраться, порой, не так просто и быстро.
Типичный пример ошибки Microsoft Visual C++ Runtime Library.
1) Установка, обновление Microsoft Visual C++
Многие игры и программы были написаны в среде Microsoft Visual C++. Естественно, если у вас нет этого пакета, то игры работать не будут. Чтобы это исправить, нужно установить пакет Microsoft Visual C++ (кстати, распространяется бесплатно).
Ссылки на офиц. сайт Microsoft:
Пакет Microsoft Visual C++ 2010 (x86) — https://www.microsoft.com/ru-ru/download/details.aspx?id=5555
Пакет Microsoft Visual C++ 2010 (x64) — https://www.microsoft.com/ru-ru/download/details.aspx?id=14632
Пакеты Visual C++ для Visual Studio 2013 — https://www.microsoft.com/ru-ru/download/details.aspx?id=40784
2) Проверка игры/приложения
Вторым шагом по устранению ошибок запуска приложений и игр — станет проверка и переустановка самих этих приложений. Дело в том, что возможно у вас были испорчены какие-нибудь системные файлы игры (dll, exe файлы). Причем, испортить могли как вы сами (случайно), так и например, «зловредные» программы: вирусы, трояны, рекламное ПО и пр. Часто банальная переустановка игры полностью избавляла от всех ошибок.
3) Проверка компьютера на вирусы
Многие пользователи ошибочно думают, что раз установлен какой-нибудь антивирус — значит никаких вирусных программ у них нет. На самом деле даже какое-нибудь рекламное ПО способно нанести определенный вред: замедлить работу компьютера, привести к появлению всевозможных ошибок.
Рекомендую проверить компьютер несколькими антивирусами, кроме этого ознакомиться с этими материалами:
— удаление рекламного ПО;
— онлайн-проверка компьютера на вирусы;
— статья про удаление вирусов с ПК;
— лучшие антивирусы 2021.
4) NET Framework
NET Framework — программная платформа, на которой разрабатывают различные программы и приложения. Чтобы эти приложения могли запуститься, у вас на компьютере должна быть установлена требуемая версия NET Framework.
Все версии NET Framework + описание.
5) DirectX
Самая распространенная (по моим личным подсчетам) из-за чего происходит ошибка Runtime Library — это «самопальные» установки DirectX. Например, многие устанавливают на Windows XP 10-ю версию DirectX (в рунете на многих сайтах есть такая версия). Но официально XP не поддерживает 10-ю версию. В результате начинают сыпаться ошибки…
Рекомендую удалить через диспетчер задач (Пуск/панель управления/установка и удаления программ) DirectX 10, а затем произвести обновление DirectX через рекомендованный установщик от Microsoft (более подробно о вопросах с DirectX — см. в этой статье).
6) Драйвера на видеокарту
И последнее…
Обязательно проверьте драйвера на видеокарту, даже если до этого ошибок не наблюдалось.
2) Затем удалить полностью старые драйвера из ОС, и установить новые.
3) Попробовать снова запустить «проблемную» игру/приложение.
Статьи:
— как удалить драйвер;
— поиск и обновление драйверов.
PS
1) Некоторые пользователи заметили одну «незакономерную закономерность» — если у вас время и дата в компьютере не правильные (передвинуты сильно на будущее), то ошибка Microsoft Visual C++ Runtime Library может появляться и из-за этого. Дело в том, что разработчики программ ограничивают их срок использования, и, естественно, программы проверяя дату (видя что наступил крайний срок «X») — прекращают свою работу…
Исправить очень просто: установить реальную дату и время.
2) Очень часто ошибка Microsoft Visual C++ Runtime Library появляется из-за DirectX. Рекомендую обновить DirectX (или удалить и установить заного; статья про DirectX — ).
Всего наилучшего…
Locate the redistributable files
To deploy redistributable files, you can use the redistributable packages installed by Visual Studio. In versions of Visual Studio since 2017, these files are named , , and . In Visual Studio 2015, 2017, 2019, and 2022, they’re also available under the names , , and (2015 only) .
The easiest way to locate the redistributable files is by using environment variables set in a developer command prompt. In the latest version of Visual Studio 2019, you’ll find the redistributable files in the folder. In both Visual Studio 2017 and Visual Studio 2019, they’re also found in . In Visual Studio 2015, these files can be found in , where is the locale of the redistributable packages.
Another deployment option is to use redistributable merge modules ( files). In Visual Studio 2019, these files are part of an optional installable component named C++ 2019 Redistributable MSMs in the Visual Studio Installer. The merge modules are installed by default as part of a C++ install in Visual Studio 2017 and Visual Studio 2015. When installed in the latest version of Visual Studio 2019, you’ll find the redistributable merge modules in . In both Visual Studio 2019 and Visual Studio 2017, they’re also found in . In Visual Studio 2015, they’re found in .
Еще несколько вариантов
Дополнительные способы, которые могут вам помочь:
- Выполните загрузку и установку последней версии пакета библиотек Майкрософт Визуал. После чего удалите ее используя «Ccleaner» и установите версию 2015 года. При необходимости далее вы можете поставить приложение 2021 года.
- Используйте командную строку, выполнив в ней команду «vc_redist.x86.exe /uninstall» без кавычек. При наличии 64-битной программы, выполните ту же команду, заменив x86 на x64.
- Запустите инсталлятор от имени администратора.
- Проверьте, не переполнен ли диск, на который производится запись приложения.
- Установите последнюю версию .NET Framework и DirectX.
Данные решения были взяты с различных форумов, сайтов и показали высокую результативность в устранении ошибки 0x80070666, появляющейся при установке Microsoft Visual C++ 2015 года.
Кстати, иногда при повторной инсталляции возникает совсем другой код «0x80240017».
new And delete Operators
One of the first things you’ll want to do is implement new and delete operators. At first, you can’t really implement them, and just need to have their stubs. Later on, when you get your memory manager working, you can fully implement them. Bellow are the stubs:
void* __cdecl operator new(size_t size) { // Allocate memory return ; } void* __cdecl operator new(size_t size) { // Allocate memory return ; } void __cdecl operator delete(void *p) { if (p == ) { return; } // Release allocated memory } void __cdecl operator delete(void *p) { if (p == ) { return; } // Release allocated memory }
If you’ll want to use placement new, then you’ll need to put the following implementation into a header file, and include it whenever you need it.
inline void* __cdecl operator new(size_t size, void* address) { return address; }
Причины появления ошибки
Сверив текст ошибки и убедившись в ее аналогичности с проблемой, рассматриваемой в статье, приступим к определению причин возникновения сбоя.
- Дата и время на ПК не верны.
- Деятельность вирусов и вредоносных программ повредила системные файлы.
- Учетка ПК записана буквами кириллицы.
- Ошибки реестра.
- Проблема в запускаемой игре или приложении.
- Отсутствие платформы NET Framework.
- Устаревшие драйвера.
- Отключены компоненты обновления системных служб (для пользователей виндоус 10).
Перейдем к решению вопроса “как исправить ошибку?”, путем последовательного исправления каждой описанной причины.
Visual Studio 2013 (VC++ 12.0)
These links download the latest supported en-US Microsoft Visual C++ Redistributable packages for Visual Studio 2013.
You can download other versions and languages from Update for Visual C++ 2013 Redistributable Package or from my.visualstudio.com.
Architecture | Version | Link |
---|---|---|
X86 | 12.0.40664.0 | vcredist_x86.exe |
X64 | 12.0.40664.0 | vcredist_x64.exe |
Other versions
- Multibyte MFC Library for Visual Studio 2013. This MFC add-on for Visual Studio 2013 contains the multibyte character set (MBCS) version of the Microsoft Foundation Class (MFC) Library.
- Visual C++ 2013 Runtime for Sideloaded Windows 8.1 apps. For more information, see C++ Runtime for Sideloaded Windows 8.1 apps on the C++ Team Blog.
What problems exist if an application uses more than one CRT version?
Every executable image (EXE or DLL) can have its own statically linked CRT, or can dynamically link to a CRT. The version of the CRT statically included in or dynamically loaded by a particular image depends on the version of the tools and libraries it was built with. A single process may load multiple EXE and DLL images, each with its own CRT. Each of those CRTs may use a different allocator, may have different internal structure layouts, and may use different storage arrangements. This means allocated memory, CRT resources, or classes passed across a DLL boundary can cause problems in memory management, internal static usage, or layout interpretation. For example, if a class is allocated in one DLL but passed to and deleted by another, which CRT deallocator is used? The errors caused can range from the subtle to the immediately fatal, and therefore direct transfer of such resources is strongly discouraged.
You can avoid many of these issues by using Application Binary Interface (ABI) technologies instead, as they are designed to be stable and versionable. Design your DLL export interfaces to pass information by value, or to work on memory that is passed in by the caller rather than allocated locally and returned to the caller. Use marshaling techniques to copy structured data between executable images. Encapsulate resources locally and only allow manipulation through handles or functions you expose to clients.
It’s also possible to avoid some of these issues if all of the images in your process use the same dynamically loaded version of the CRT. To ensure that all components use the same DLL version of the CRT, build them by using the option, and use the same compiler toolset and property settings.
Be careful if your program passes certain CRT resources across DLL boundaries. Resources such as file handles, locales, and environment variables can cause problems, even when using the same version of the CRT. For more information on the issues involved and how to resolve them, see Potential Errors Passing CRT Objects Across DLL Boundaries.
Ошибка из-за некорректного имени учетной записи
С помощью этого метода ошибка исправляется просто и быстро. Причина в этом случае кроется в имени учетной записи. Если она на кириллице (русский язык), возникает ошибка такого рода. Нужно просто создать дополнительную запись на латинице (английский). Для этого:
- «Панель управления».
- «Учетные записи и Семейная безопасность».
- «Учетные записи пользователей».
- «Управление другой учетной записью».
- В новой вкладке окна добавляем нового пользователя с именем на английском языке.
- Перейти в новую учетную запись.
- Запустить приложение.
Иногда помогает переименовать каталог с кириллицы на латынь. Например с C:Игры на C:Games
Ошибка Microsoft Visual C++ Runtime Library. Как исправить?
Здравствуйте.
Не так давно помогал одному хорошему знакомому с настройкой компьютера: у него при запуске любой игры выскакивала ошибка Microsoft Visual C++ Runtime Library… Так собственно и родилась тема этого поста: опишу в нем подробные шаги по восстановлению работоспособности ОС Windows и избавлению от этой ошибки.
И так, начнем.
Вообще, ошибка Microsoft Visual C++ Runtime Library может появиться по многим причинам и разобраться, порой, не так просто и быстро.
Типичный пример ошибки Microsoft Visual C++ Runtime Library.
1) Установка, обновление Microsoft Visual C++
Многие игры и программы были написаны в среде Microsoft Visual C++. Естественно, если у вас нет этого пакета, то игры работать не будут. Чтобы это исправить, нужно установить пакет Microsoft Visual C++ (кстати, распространяется бесплатно).
Ссылки на офиц. сайт Microsoft:
Пакет Microsoft Visual C++ 2010 (x86) — https://www.microsoft.com/ru-ru/download/details.aspx?id=5555
Пакет Microsoft Visual C++ 2010 (x64) — https://www.microsoft.com/ru-ru/download/details.aspx?id=14632
Пакеты Visual C++ для Visual Studio 2013 — https://www.microsoft.com/ru-ru/download/details.aspx?id=40784
2) Проверка игры/приложения
Вторым шагом по устранению ошибок запуска приложений и игр — станет проверка и переустановка самих этих приложений. Дело в том, что возможно у вас были испорчены какие-нибудь системные файлы игры (dll, exe файлы). Причем, испортить могли как вы сами (случайно), так и например, «зловредные» программы: вирусы, трояны, рекламное ПО и пр. Часто банальная переустановка игры полностью избавляла от всех ошибок.
3) Проверка компьютера на вирусы
Многие пользователи ошибочно думают, что раз установлен какой-нибудь антивирус — значит никаких вирусных программ у них нет. На самом деле даже какое-нибудь рекламное ПО способно нанести определенный вред: замедлить работу компьютера, привести к появлению всевозможных ошибок.
Рекомендую проверить компьютер несколькими антивирусами, кроме этого ознакомиться с этими материалами:
— удаление рекламного ПО;
— онлайн-проверка компьютера на вирусы;
— статья про удаление вирусов с ПК;
— лучшие антивирусы 2021.
4) NET Framework
NET Framework — программная платформа, на которой разрабатывают различные программы и приложения. Чтобы эти приложения могли запуститься, у вас на компьютере должна быть установлена требуемая версия NET Framework.
Все версии NET Framework + описание.
5) DirectX
Самая распространенная (по моим личным подсчетам) из-за чего происходит ошибка Runtime Library — это «самопальные» установки DirectX. Например, многие устанавливают на Windows XP 10-ю версию DirectX (в рунете на многих сайтах есть такая версия). Но официально XP не поддерживает 10-ю версию. В результате начинают сыпаться ошибки…
Рекомендую удалить через диспетчер задач (Пуск/панель управления/установка и удаления программ) DirectX 10, а затем произвести обновление DirectX через рекомендованный установщик от Microsoft (более подробно о вопросах с DirectX — см. в этой статье).
6) Драйвера на видеокарту
И последнее…
Обязательно проверьте драйвера на видеокарту, даже если до этого ошибок не наблюдалось.
2) Затем удалить полностью старые драйвера из ОС, и установить новые.
3) Попробовать снова запустить «проблемную» игру/приложение.
Статьи:
— как удалить драйвер;
— поиск и обновление драйверов.
PS
1) Некоторые пользователи заметили одну «незакономерную закономерность» — если у вас время и дата в компьютере не правильные (передвинуты сильно на будущее), то ошибка Microsoft Visual C++ Runtime Library может появляться и из-за этого. Дело в том, что разработчики программ ограничивают их срок использования, и, естественно, программы проверяя дату (видя что наступил крайний срок «X») — прекращают свою работу…
Исправить очень просто: установить реальную дату и время.
2) Очень часто ошибка Microsoft Visual C++ Runtime Library появляется из-за DirectX. Рекомендую обновить DirectX (или удалить и установить заного; статья про DirectX — ).
Всего наилучшего…
Ошибка из-за некорректного имени учетной записи
С помощью этого метода ошибка исправляется просто и быстро. Причина в этом случае кроется в имени учетной записи. Если она на кириллице (русский язык), возникает ошибка такого рода. Нужно просто создать дополнительную запись на латинице (английский). Для этого:
- «Панель управления».
- «Учетные записи и Семейная безопасность».
- «Учетные записи пользователей».
- «Управление другой учетной записью».
- В новой вкладке окна добавляем нового пользователя с именем на английском языке.
- Перейти в новую учетную запись.
- Запустить приложение.
Иногда помогает переименовать каталог с кириллицы на латынь. Например с C:Игры на C:Games
Решение
-
Проблемы компиляторов
Для проблем компилятора, таких как внутренние ошибки компилятора (т. е. C1001), зависает или сбои, может быть полезно захватить выход препроцессора C/C++ для предоставления упрощенного репродуцируемый пример проблемы. В Visual C++ IDE это можно сделать, задав свойство Generate Preprocessed File with Line Numbers (/P) или Without Line Numbers (/EP/P). Это свойство можно найти на страницах свойств проекта в параметрах Configuration Properties, C/C++, Preprocessor.
Этот параметр можно установить на уровне проекта из меню Project Properties, в этом случае оно будет создавать файлы для всех исходных файлов в проекте или его можно установить для одного файла, щелкнув правой кнопкой мыши файл в проводнике решений, выбрав контекстное меню Properties, чтобы привести диалоговое окно свойств для одного файла.
Переключатель компилятора /P направляет CL.EXE для захвата вывода препроцессора в файл. Добавление /EP подавляет добавление сведений о номере строки в итоговом файле. /P достаточно, но /EP/P создает меньший файл вывода. Созданный файл вывода препроцессора будет иметь то же имя, что и исходный файл, который компилирован, но с расширением файла a.i, например, file1.cpp создает файл вывода препроцессора file1.i в том же каталоге.
Примечание
При использовании этого коммутатора компиляция будет продолжаться до фазы препроцессора, то есть не будет создан файл компилятором, и вы можете получить ошибку ссылки, отражая тот факт, что файлы OBJ не могут быть найдены.
Вы можете самостоятельно компилировать файл вывода препроцессора вне контекста Visual Studio проекта. Файл содержит все сведения о файле загона, замене макроса и сведениях директивы компиляторов, необходимых для компиляции этого конкретного или исходных файлов. Другими словами, это автономный модуль, который должен иметь возможность воспроизводить проблему компиляции без каких-либо зависимостей от других файлов. В результате файл часто будет большим и содержит большое количество белого пространства.
-
Проблемы со ссылками
Для проблем со ссылками (ошибки типа LNKxxxxx) можно использовать командный переключатель командной строки /LINKREPRO для создания тестового случая, содержащего только входные данные ссылок без зависимости от исходных файлов. /LINKREPRO использует следующий синтаксис:
это полный путь к пустой папке в локальной файловой системе. Эта папка уже должна существовать — ссылка не создаст ее автоматически и создаст ошибку, если папка не существует.
Этот параметр не подвергается непосредственному воздействию в проектной системе. Чтобы добавить его в сборку, откройте меню свойства проекта из Project меню. В конфигурации Свойства , Linker, Командная строка , в поле Дополнительные параметры изменить, введите переключатель (в том числе вперед слэш) и заменить путь с уже существующей локальной папки пути. Пример: .
Если в этом окне редактирования уже есть другие параметры линкера, разделяйте их запятой.
Кроме того, можно использовать переменную среды. Если переменная среды существует, линкатор будет читать выходной путь из переменной среды и создавать linkrepro. Переключатель /LINKREPRO не требуется при использовании переменной среды. Использование переменной среды:
-
Откройте командную Visual Studio командную подсказку. Это устанавливается в меню Пуск, в Visual Studio папке под Инструменты Visual Studio подмастерье.
-
Создайте переменную среды, указывающую на существующий и пустой каталог, например: .
-
Запустите Visual Studio из той же командной подсказки, чтобы она разделяет копию измененной среды.
-
Откройте проект и перестроим весь проект.
Когда LINK.EXE вызывается в сборке, она копирует все необходимое для привязки проекта к каталогу linkrepro. Среди скопированные файлы будут ваши объектные файлы (. OBJ), необходимые файлы библиотеки (. LIB), включая библиотеки Майкрософт и файл ответа linker (LINK. RSP), чтобы ССЫЛКА больше не зависела от файла решения.
Чтобы подтвердить, что у вас есть все необходимые файлы для воспроизведения проблемы ссылок, можно запустить LINK в каталоге, указанном переменной LINK_REPRO среды, используя файл ответа linker, созданный linkrepro: .
Перед этим используйте следующую команду, чтобы отключить эту функцию при использовании переменной среды командной строки: .
Этот процесс также можно использовать для проверки файлов, участвующих в создании библиотеки, при использовании LIB.EXE link/LIB.
-
Referencing manually the VC Runtime framework packages from converted desktop apps:
1. First, ensure you are set up to use Desktop Bridge (Centennial). For instructions, see Desktop App Converter Preview (Project Centennial).
2. Run the converter and then installer for your Win32 application. The converter captures the layout, and any changes made to the registry and outputs an Appx with manifest.
3. In the Appx layout, update the AppxManifest.xml to contain a reference to the VCLibs UWPDesktop framework package by adding the <PackageDependency> element under the <Dependencies> element:
<PackageDependency Name=”Microsoft.VCLibs.140.00.UWPDesktop” MinVersion=”14.0.24217.0″ Publisher=”CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US” />
Also, please remove any C++ Runtime dlls from the appx layout. Consuming the runtime via framework packages is the recommended approach.
Note: Starting with Desktop App Converter v0.1.23, converter will auto detect VCLibs dependency and add the PackageDependency entry in the AppxManifest.xml. It will also remove any local copies of the C++ runtime dlls.
4. Install the VCLibs UWPDesktop framework package corresponding to the configuration and architecture you are targeting, using add-appxpackage cmdlet.
For instance, if your application is targeting x86 Retail config, open powershell:
a. Goto %PROGRAMFILES(X86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\Retail\x86
b. Add-appxpackage Microsoft.VCLibs.x86.14.00.Desktop.appx
5. Deploy your application using the add-appxpackage –register AppxManifest.xml cmdlet or by repackaging it using MakeAppx, see App packager (MakeAppx.exe).
Note: You could install these framework using DependencyPath parameter from the Add-AppxPackage command. See here for more detail on this option
For Debugging:
To deploy a debug version of the application, add a PackageDependency to the Debug framework package, Microsoft.VCLibs.140.00.Debug.UWPDesktop:
<PackageDependency Name=”Microsoft.VCLibs.140.00.Debug.UWPDesktop” MinVersion=”14.0.24217.0″ Publisher=”CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US” />
Universal CRT (uCRT) is installed in system32 as part of the Windows 10 OS (just like user32.dll), but if you want the debug version of uCRT, you need to install it. You can find the debug version in the Windows 10 SDK (use the same version used to create the app)
In case the target computer doesn’t have the uCRT debug version, you have to package the Debug uCRT app locally. To do this, copy the ucrtbased.dll from C:\Program Files (x86)\Windows Kits\10\bin\<arch>\ucrtbased.dll next to the executable.
VC++ 12.0 support:
The framework packages for VC12.0(Visual studio 2013) are installed under: %PROGRAMFILES(X86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.120\
To reference the 120 framework package, add the following line to the AppxManifest.xml:
<PackageDependency Name=”Microsoft.VCLibs.120.00.UWPDesktop” MinVersion=”12.0.40653.0″ Publisher=”CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US” />
For Debugging:
Change the PackageDependency Name to Microsoft.VCLibs.120.00.Debug.UWPDesktop to deploy the debug version.
Note that the existing VC++ 12.0 libraries created during the Windows 8 timeframe have runtime checks to determine whether the app is running under the app container or not. When running desktop apps as a packaged app, these checks might limit the functionality of the desktop app or cause it to behave like a UWA (Universal Windows Application) (limited file system access or create thread initializing MTA etc.). We have fixed this behavior in the VC++ libraries contained in these framework packages and thus removing the modern app limitations from your desktop applications.
Under Windows 10 SDK License