Где находится "msvcR140.dll"? Это существует?
Я недавно перешел на VS 2015. По причинам, объясненным ниже, я хочу избежать запуска установщика VC++ Redistributables. Я включаю предписанные библиотеки DLL в мой установщик для установки "локального приложения":
MFC140.DLL
concrt140.dll
msvcp140.dll
vccorlib140.dll
vcruntime140.dll
mfc140u.dll
mfcm140u.dll
Это похоже на работу. Мое приложение запускается при установке на "девственный" ПК.
Мой вопрос, где я могу найти
msvcr140.dll
?
Упоминается здесь: https://www.visualstudio.com/license-terms/mt228262/. Я не могу найти его нигде при поиске во всех каталогах на ПК, где установлены VC Redistributables. Это существует? Windows скрывает это?
Примечание 1: Почему я должен избегать установщика MS VC++ Redistributables:
- Он отображается как отдельная установка в моем установщике WiX. Это очень сбивает с толку моего демографического рынка (потребителей).
- Когда мое программное обеспечение удалено, необходимо также удалить VC Redist., Что может привести к осложнениям.
- В нескольких случаях произошла какая-то ошибка, из-за которой компьютер стал неработоспособным. Я подозреваю повторные установки VC Redist. Происходит следующее: обычный пользователь больше не может запускать какие-либо программы.
- ВК Редист. увеличил размер моего установщика с 25 до 40 МБ, что на 15 МБ больше. Выбрав, какие компоненты мне нужны, я обрезал его на 10 МБ.
- Код WiX для тестирования предыдущих версий сложен, загадочен и непостижим.
- Да, я понимаю о преимуществах автоматического обновления библиотек Windows. Однако ПК с устаревшими DLL лучше, чем ПК, который нельзя использовать.
Примечание 2: я не могу создать статическую ссылку, мое приложение представляет собой смешанный пакет библиотек DLL Win32 и MFC, я получаю ошибки компоновщика.
1 ответ
Похоже, что msvcr140.dll"отсутствует" из-за введения Universal CRT в Visual Studio 2015.
Смотрите также этот ответ и этот.
Заглянув внутрь официального модуля слияния, расположенного по адресу Program Files (x86)\Common Files\Merge Modules\Microsoft_VC140_CRT_x64.msm
Visual C++ 2015 CRT состоит из следующих файлов:
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-file-l2-1-0.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-libraryloader-l1-1-0.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-namedpipe-l1-1-0.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-timezone-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-crt-conio-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-multibyte-l1-1-0.dll
api-ms-win-crt-private-l1-1-0.dll
api-ms-win-crt-process-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-utility-l1-1-0.dll
concrt140.dll
msvcp140.dll
ucrtbase.dll
vccorlib140.dll
vcruntime140.dll