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


Развертывание в Visual C++ 2010

При развертывании приложения Visual C++ на другом компьютере необходимо установить как само приложение, так и файлы всех необходимых библиотек.Если библиотека обновляется, например при исправлении уязвимости системы безопасности, может возникнуть необходимость применить обновление везде, где развернуто приложение.

Visual Studio предоставляет три способа развертывания библиотек Visual C++ вместе с приложением: централизованное развертывание, локальное развертывание и статическое связывание.Microsoft автоматически обновляет свои библиотеки, развернутые централизованно.Для локально развернутых или статически связанных библиотек Visual C++ обновления должен предоставить модуль записи приложения.

Центральное развертывание

В централизованном развертывании файлы библиотек Visual C++ устанавливаются в каталог %windir%\system32\.Для централизованного развертывания библиотек Visual C++ можно использовать один из следующих вариантов.

  • Файлы распространяемого пакета, которые представляют собой автономные исполняемые файлы командной строки, которые можно использовать для задания распространяемых библиотек Visual C++.

  • Распространяемые модули слияния (MSM-файлы), которые можно использовать для развертывания определенных библиотек и которые включены в файл установщика Windows (.msi) вашего приложения.

Файл распространяемого пакета устанавливает библиотеки Visual C++ для конкретной системной архитектуры.Можно задать программе настройки приложения требование обязательно запускать его перед установкой приложения.Модуль слияния обеспечивает включение логики установки для конкретной библиотеки Visual C++ в файле настройки приложения установщика Windows.Можно включить столько модулей слияния, сколько требуется приложению.

Поскольку централизованное развертывание библиотек Visual C++ с помощью распространяемого пакета обеспечивает автоматическое обновление от Microsoft, рекомендуется использовать динамическое связывание и распространяемые пакеты для приложения.

Локальное развертывание

В локальном развертывании файлы библиотек устанавливаются в папку приложения вместе с исполняемым файлом.Разные версии библиотек можно устанавливать в одну папку, поскольку обеспечивается уникальность имени файла для каждой версии путем включения номера версии.Например, версия 12 для среды выполнения C имеет имя msvcr120.dll.

Поскольку корпорация Майкрософт не может автоматически обновлять локально развернутые библиотеки Visual C++, мы предупреждаем о недостатках локального развертывания этих библиотек.Если вы решите использовать локальное развертывание распространяемых библиотек, мы рекомендуем реализовать собственный метод автоматического обновления локально разворачиваемых библиотек.

Статическое связывание

Можно статически связать библиотеку Visual C++ с приложением, т.е. скомпилировать ее в приложение, чтобы не требовалось развертывать файлы библиотек Visual C++ отдельно.Однако не рекомендуется использовать такой подход, поскольку статически связанные библиотеки не могут обновляться на месте.Если используется статическое связывание и необходимо обновить связанную библиотеку, потребуется выполнить повторную компиляцию и повторное развертывание приложения.

Устранение неполадок

Порядок загрузки библиотек Visual C++ зависит от системы.Чтобы выявить причины неполадок загрузчика, используйте средство depends.exe или where.exe.Дополнительные сведения см. в разделе Порядок поиска библиотеки динамической компоновки (Windows).

См. также

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

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