Распространяемые DLL-файлы Visual C ++ 2015 для локального развертывания приложений

До Visual Studio 2013 все, что вам нужно, это msvcr [version] .dll и msvcp [version] .dll. Теперь они сменили библиотеки DLL на 2015 год. Что мне нужно включить, чтобы избежать установки переименования?

РЕДАКТИРОВАТЬ:

Сейчас это невозможно: http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx

«Локальное развертывание Universal CRT не поддерживается».

ОБНОВИТЬ:

Содержимое ссылки выше было обновлено 11 сентября 2015 года. Теперь можно сделать локальное развертывание приложений.

c++,visual-studio-2015,

15

Ответов: 4


11 ов

Это сработало для меня (приложение x86).

Отправка всех DLL из этих мест с помощью вашего приложения:

  • C: Program Files (x86) Windows Kits 10 Redist ucrt DLL x86
  • C: Program Files (x86) Microsoft Visual Studio 14.0 VC redist x86 Microsoft.VC140.CRT

1

В общем, вы можете использовать зависимый ходок, чтобы найти список зависимых dll. Что касается DLL визуальной студии, то в основном вас беспокоят библиотеки DLL с конкретными версиями Visual Studio.


1

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

  1. Скопируйте все файлы из «C: Program Files Windows Kits 10 Redist ucrt DLLs x86" или "C: Program Files (x86) Windows Kits 10 Redist ucrt DLLs x86" ( или скопировать их из каталога x64, если это 64-разрядное приложение). Если вы используете Qt, скопируйте их в каталог, созданный windeployqt.
  2. Скопируйте файл msvcp140.dll и vcruntime140.dll из: <Каталог установки Visual Studio 2015> Microsoft Visual Studio 14.0 VC redist x86 Microsoft.VC140.CRT (или скопируйте их из каталога x64, если это 64-разрядное приложение) ,

В общем, я обнаружил, что вы можете просто сделать шаг №1 и попытаться запустить приложение. Он скажет вам первый из файлов, которые он отсутствует, и как только вы поместили его в каталог своего приложения, он скажет вам следующее, что вам нужно. В моем случае это было два. Например, копирование похожих файлов из папки <Windows> System32 не удалось. Я нашел использование Dependency Walker и пытается удовлетворить зависимостям, которые он указывает, что они не увенчались успехом.

Это позволяет вам сделать переносное приложение, которое будет работать на M $ OS, как и на прежнем этапе XP; или установить для пользователей без vcredist_x86 или vcredist_x64, у которых нет прав администратора.

BTW: Шаг № 1 довольно официальный. Здесь он находится в блоге MSDN: Представляем универсальный CRT. Говорят, чтобы скопировать их все, чтобы приложение запускалось на всех M $ OS.


0

Как уже упоминалось в пункте 6 настоящей статьи, можно сделать локальное развертывание универсальной ЭЛТ. Для этого вы должны установить SDK Windows 10 и скопировать все двоичные файлы C:Program Files (x86)Windows Kits10Redistucrt.

C ++, визуально-студия-2015,
Похожие вопросы