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


Практическое руководство. Развертывание проекта установки и развертывания

Обновлен: Ноябрь 2007

В этом разделе рассматривается тип проекта установки и развертывания. Дополнительные сведения об этом сценарии развертывания см. в разделе Сценарии для примеров развертывания.

Процедуры для развертывания DLL-библиотек Visual C++ в качестве совместно используемых сборок

Создание проекта установки и развертывания

  • В меню Файл щелкните команду Создать проект, откройте узел Другие типы проектов и выберите пункт Установка и развертывание, затем щелкните пункт Проект установки. Введите имя и нажмите кнопку ОК.

    ms235317.alert_note(ru-ru,VS.90).gifПримечание.

    Visual C++ Express не поддерживает проекты установки. Чтобы выполнить распространение библиотеки Visual C++ с приложениями, построенными в Visual C++ Express, используйте распространяемый пакет Visual C++. Дополнительные сведения см. в разделе Практическое руководство. Развертывание с помощью Xcopy.

Добавление в проект библиотек DLL и EXE и указание места установки этих библиотек на конечном компьютере

  1. В меню Проект выберите команду Добавить и щелкните пункт Файл.

  2. Найдите папки, которые содержат файлы MyApplication.exe и MyLibrary.DLL, и выберите оба этих файла.

  3. В окне Файловая система щелкните правой кнопкой узел Папка приложения, выберите команду Добавить и щелкните команду Создать, чтобы создать новую папку. Назовите эту папку "MyLibrary".

  4. Снова щелкните узел Папка приложения, выберите файл MyLibrary.DLL и перетащите этот файл в папку "MyLibrary". В Обозревателе решений в пункте Обнаружение зависимостей для данного проекта можно заметить, что в Visual Studio обнаружены зависимости от MFC90.dll и MSVCR90.dll. Необходимо добавить соответствующие модули слияния для этих DLL-файлов.

  5. В меню Проект выберите команду Добавить, затем выберите пункт Модуль слияния. Выберите Microsoft_VC90_CRT_x86.msm и Microsoft_VC90_MFC_x86.msm, затем нажмите кнопку ОК. Для отладочных версий этих модулей слияния выберите Microsoft_VC90_DebugCRT_x86.msm и Microsoft_VC90_DebugMFC_x86.msm.

    ms235317.alert_note(ru-ru,VS.90).gifПримечание.

    Проверьте, что модули "соответствующая политика*.msm" встроены в проект. Например, модули policy_9_0_microsoft_vc90_crt_x86.msm и policy_9_0_microsoft_vc90_mfc_x86.msm соответствуют модулям Microsoft_VC90_CRT_x86.msm и Microsoft_VC90_MFC_x86.msm соответственно. Visual Studio обнаружит, что главные модули зависят от этих модулей политик и перечислит зависимости в элементе Обнаруженные зависимости. Если зависимости не обнаруживаются автоматически, необходимо объединить модули политик вручную.

    Для развертывания 64-разрядных приложений в 64-разрядной операционной системе выберите модуль слияния для соответствующей платформы. Для x64 выберите Microsoft_VC90_CRT_x86_x64.msm и Microsoft_VC90_MFC_x86_x64.msm; для Itanium — Microsoft_VC90_CRT_x86_ia64.msm и Microsoft_VC90_MFC_x86_ia64.msm.

Построение setup.exe

  • В меню Построение выберите команду Построить решение.

Выполнение setup.exe

  • Если выполнить только что собранный файл setup.exe в операционной системе, которая поддерживает привязку приложений к их зависимостям на основе манифеста (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), происходит следующее:

Процедуры для развертывания DLL-библиотек Visual C++ в качестве закрытых сборок

Создание проекта установки и развертывания

  • В меню Файл щелкните команду Создать проект, откройте узел Другие типы проектов и выберите пункт Установка и развертывание, затем щелкните пункт Проект установки. Введите имя и нажмите кнопку ОК.

Добавление в проект библиотек DLL и EXE и указание места установки этих библиотек на конечном компьютере

  1. В меню Проект выберите команду Добавить и щелкните пункт Файл.

  2. Найдите папки, которые содержат файлы MyApplication.exe и MyLibrary.DLL, и выберите оба этих файла.

  3. В окне Файловая система щелкните правой кнопкой узел Папка приложения, выберите команду Добавить и щелкните команду Создать, чтобы создать новую папку. Назовите эту папку "MyLibrary".

  4. Снова щелкните узел Папка приложения, выберите файл MyLibrary.DLL и перетащите этот файл в папку MyLibrary. В Обозревателе решений в пункте Обнаружение зависимостей для данного проекта можно увидеть, что в Visual Studio обнаружены зависимости от MFC90.dll и MSVCR90.dll. Необходимо добавить соответствующую папку для этих сборок из папки \vc\redist.

    ms235317.alert_note(ru-ru,VS.90).gifПримечание.

    Для отладочных построений используйте \vc\redist\debug_nonredist.

  5. В проводнике Windows откройте %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86.

  6. Удерживая клавишу CTRL, щелкните папки Microsoft.VC90.CRT и Microsoft.VC90.MFC. Перетащите эти папки в Visual Studio и вставьте в папку приложения.

  7. Повторите шаг 6, но на этот раз перетащите папки в папку "MyLibrary".

    Должно появится сообщение от Visual Studio о том, что включаемая библиотека DLL является частью модуля слияния. Это именно то, что нужно сделать. Соответственно, чтобы отменить использование MSM-файла для этой библиотеки DLL, нажмите кнопку Нет.

    Библиотека mfcm90.dll и ее версия в Юникоде mfcm90u.dll необходимы только при использовании интеграции MFC/Winforms. В противном случае можно удалить эти библиотеки DLL из установки.

    Библиотека msvcm90.dll необходима только в случае использования управляемого кода в приложениях, например, если проекты построены с параметрами /clr или /clr:pure.

    Если mfcm90.dll, mfcm90u.dll или msvcm90.dll включены в проект установки, необходимо установить .NET Framework. Если на конечном компьютере не установлена платформа .NET Framework 2.0, установка не будет работать.

    Для отладочной установки в предыдущем шаге замените CRT на DebugCRT и MFC на DebugMFC.

    Для развертывания 64-разрядных приложений на 64-разрядных операционных системах используйте \vc\redist\amd64 или \vc\redist\ia64.

Построение setup.exe

  • В меню Построение выберите команду Построить решение.

Выполнение setup.exe

  1. Если выполнить только что собранный файл setup.exe в операционной системе, которая поддерживает привязку на основе манифеста (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), происходит следующее:

    • Приложение устанавливается в указанную папку.

    • Приложение и библиотека DLL используют сборки CRT и MFC из папок Microsoft.VC90.CRT и Microsoft.VC90.MFC во время выполнения.

  2. Данный метод развертывания не рекомендуется использовать в операционной системе, которая не поддерживает привязку на основе манифеста (Windows 2000). При попытке развертывания сборок Visual Studio в качестве закрытых сборок на этих операционных системах и пошаговом выполнении вышеуказанных действий, загрузчику операционной системы не удастся найти библиотеки CRT и MFC. Чтобы загрузчику удалось найти эти библиотеки, необходимо добавить папки, которые содержат Microsoft.VC90.CRT и Microsoft.VC90.MFC, к переменной среды PATH. В этом режиме происходит следующее:

    • Приложение установлено в указанную папку.

    • Загрузчик системы находит расположение закрытых сборок CRT и MFC из папок Microsoft.VC90.CRT и Microsoft.VC90.MFC посредством переменной среды PATH во время выполнения.

См. также

Задачи

Практическое руководство. Развертывание с помощью Xcopy

Основные понятия

Примеры развертывания