Я создал приложение C++, используя Microsoft Visual Studio 2015 Community Edition. Я использую Advanced Installer, чтобы убедиться, что Visual C++ Redistributable для Visual Studio 2015 является обязательным условием.
Однако распространяемый установщик не идеален. Некоторые из моих пользователей сообщили, что распространяемый установщик зависает, или он не может установить, когда он говорит, что он делает, а затем пользователи получают сообщение "Эта программа не может запускаться из-за ошибки MSVCP140.dll с вашего компьютера".
По словам Microsoft, теперь я могу упаковать распространяемые DLL вместе с моим приложением, хотя они не рекомендуют:
Чтобы развернуть распространяемые Visual C++ файлы, вы можете использовать Visual C++ Распространяемые пакеты (VCRedist_x86.exe, VCRedist_x64.exe или VCRedist_arm.exe), которые включены в Visual Studio.... Также возможно напрямую установить распространяемые библиотеки Visual C++ DLL в локальной папке приложения, которая является папкой, содержащей файл исполняемого файла. По причинам обслуживания мы не рекомендуем использовать это место установки.
Есть 4 файла в C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64\Microsoft.VC140.CRT
. Означает ли это, что мне просто нужно скопировать их в каталог приложений во время процесса установки?
- MyApp.exe
- concrt140.dll
- msvcp140.dll
- vccorlib140.dll
- vcruntime140.dll
Это нормально? Нужно ли показывать лицензию? Почему больше людей не делают этого вместо того, чтобы требовать еще одну предустановку распространяемого?