Развертывание в Visual C++ 2010
При развертывании приложения на другом компьютере необходимо установить само приложение и файлы всех необходимых библиотек.Visual C++ в Visual Studio 2012 предоставляет три способа развертывания среды выполнения Visual C++ с приложением: центральное развертывание, локальное развертывание или статическое связывание.
Центральное развертывание
Центральное развертывание означает, что библиотеки DLL Visual C++ устанавливаются в каталог System32.Для центрального развертывания приложения используйте одно из следующих средств:
Программа командной строки **VCRedist_**архитектура.exe, где архитектура — это x32, x64 или ia64.
Модули слияния.
Программа VCRedist_архитектура.exe устанавливает все библиотеки для определенной аппаратной платформы.Модули слияния (или MSM-файлы) предоставляют стандартный метод, с использованием которого разработчики создают общие компоненты Windows Installer и логику установки приложений.
Основное преимущество центрального развертывания заключается в удобстве срочного обслуживания.При обнаружении критической уязвимости корпорация Майкрософт автоматически обновляет файлы библиотек, развернутых центрально.
Локальное развертывание
Локальное развертывание означает, что файлы библиотек приложения устанавливаются в каталог приложения.Чтобы развернуть приложение локально, просто скопируйте исполняемый файл и файлы связанных с ним библиотек в папку.
Различные версии библиотеки могут сосуществовать, поскольку имена файлов содержат номер версии (например, библиотека DLL CRT версии 11 msvcr110.dll).
В отличие от центрально развернутых библиотек локальные библиотеки не обновляются автоматически корпорацией Майкрософт.Если решено использовать локальное развертывание, следует внедрить собственный метод обновления библиотек.
Статическое связывание
Можно статически связать приложение с любой библиотекой (например, CRT, MFC или ATL) для получения исполняемого файла, не зависящего от библиотек DLL.Преимущество статического связывания заключается в том, что развертывание приложения можно скопировать с одного компьютера на другой без файлов библиотек.Если при статическом связывании корпорация Майкрософт обновляет библиотеку, к которой выполнена привязка, приложение не может использовать эту обновленную библиотеку.
Уязвимости системы безопасности
В случае уязвимости системы безопасности, корпорация Майкрософт предоставляет заплату безопасности для трогнутой библиотеки.Ответственность за записи приложения развертывания заплата на компьютерах с уязвимую библиотеку.
Если уязвимость считается критической и требует срочного устранения, корпорация Майкрософт воспользуется Центром обновления Майкрософт для обслуживания всех компьютеров, на которых соответствующая библиотека Visual C++ установлена центрально.Если приложение использует локальные файлы библиотек, необходимо самостоятельно принять меры по срочному обслуживанию.
Устранение неполадок
Чтобы выявить причины неполадок загрузчика, используйте средство depends.exe или where.exe.Порядок загрузки библиотек Visual C-++ C системой зависимого.Дополнительные сведения см. в разделе Порядок поиска библиотеки динамической компоновки (Windows).