Это похоже на вопрос здесь , но оно относится к неуправляемым сборкам C ++, а не к управляемым .Net.
Предполагая, что мой каталог приложения имеет свой собственный Visual Studio RedistributableDLL-библиотеки времени выполнения 2015 (я перераспределяю среду выполнения в каталоге приложения, на тот случай, если клиентский компьютер не может установить распространяемые файлы VC ++ из обновления Windows), и на клиентском компьютере также установлен пакет Visual Studio Redistributable 2015. Какой из них будет загружен, vcruntime140.dll
, расположенный в каталоге приложения, или vcruntime140.dll
установленный?
Аналогично, мой каталог приложения имеет собственный набор Universal C Runtime (сноваЯ делаю это по той причине, что некоторые клиентские машины не могут установить Universal CRT по разным причинам), и в случае, если на клиентских машинах также установлена универсальная CRT, какая из них будет загружена, какие установлены DLL-библиотеки Universal CRT или какиев моем каталоге приложений?
Для Windows 10 и Universal CRT я знаю, что Универсальный CRT в системном каталоге всегда используется , даже если приложение включает в себяприкладная локальная копия универсальной ЭЛТ. Это верно даже в том случае, если локальная копия новее, потому что Universal CRT является основным компонентом операционной системы Windows 10.
Но я не уверен насчет других Windows 10 и выше распространяемого пакета Visual Studio C ++.
Таким образом я ищу ответы по всем поддерживаемым версиям Windows, включая Windows 7, Windows 8.1 и Windows 10 .
Примечание. Явызов неуправляемых сборок C ++ из .Net, если это имеет значение.