Поделиться через


Развертывание в 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).

См. также

Другие ресурсы

Развертывание приложений рабочего стола (Visual C++)