Visual Studio 2015 зависимости времени выполнения или как избавиться от Universal CRT?

Скомпилировал пару .dll с использованием Visual Studio 2015 и попытался развернуть на некоторых старых Windows 7/64 бит. Попытался также угадать, какие DLL необходимы для запуска приложения, и скопировал MSVCP140.DLL & VCRUNTIME140.DLL - но приложение не смогло загрузить vs2015 dll. Начал анализировать, что не так - и обходчик зависимостей показал зависимости от следующих DLL:

API-MS-WIN-CRT-MATH-L1-1-0.DLL
API-MS-WIN-CRT-HEAP-L1-1-0.DLL
API-MS-WIN-CRT-CONVERT-L1-1-0.DLL
API-MS-WIN-CRT-STRING-L1-1-0.DLL
API-MS-WIN-CRT-STDIO-L1-1-0.DLL
API-MS-WIN-CRT-RUNTIME-L1-1-0.DLL
API-MS-WIN-CRT-FILESYSTEM-L1-1-0.DLL
API-MS-WIN-CRT-TIME-L1-1-0.DLL

Это было особенно удивительно, поскольку, насколько я понимаю, CRT отвечает за запуск dll / exe, он не предоставляет никаких услуг более высокого уровня.

Хорошо, попытался выяснить, как от них избавиться или хотя бы минимизировать.

Нашел одну статью:https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/

В нем упоминается о выпуске статических библиотек - поэтому я подумал, что смогу связать их и избавиться от ада зависимостей * L1-1-0.DLL *, но, что бы я ни пытался - у меня ничего не получилось. Я пытался связать с libvcruntime.lib, libucrt.lib, libcmt.lib, пытался отключить с помощью опции компоновщика "/nodefaultlib:vcruntime.lib", и даже пытался добавить каталог включения $ (UniversalCRT_IncludePath), а также переопределил некоторые из определения, как я пытался угадать, они работают - ни одна из моих попыток не помогла.

В качестве промежуточного решения я прибегаю к использованию Visual studio 2013, где CRT-библиотеки DLL только два: msvcp120.dll, msvcr120.dll.

Конечно, вы, вероятно, порекомендуете установить Visual Studio 2015 во время выполнения, но одним из наших требований является поддержка отдельного исполняемого файла, который работает без какой-либо установки, поэтому дополнительная установка пока не обсуждается.

Можете ли вы порекомендовать мне что-нибудь еще, кроме как ждать Visual Studio 2017, чтобы прибыть?

Ответы на вопрос(4)

Ваш ответ на вопрос