Практическое руководство. Развертывание проекта установки и развертывания
Обновлен: Ноябрь 2007
В этом разделе рассматривается тип проекта установки и развертывания. Дополнительные сведения об этом сценарии развертывания см. в разделе Сценарии для примеров развертывания.
Процедуры для развертывания DLL-библиотек Visual C++ в качестве совместно используемых сборок
Создание проекта установки и развертывания
В меню Файл щелкните команду Создать проект, откройте узел Другие типы проектов и выберите пункт Установка и развертывание, затем щелкните пункт Проект установки. Введите имя и нажмите кнопку ОК.
Примечание. Visual C++ Express не поддерживает проекты установки. Чтобы выполнить распространение библиотеки Visual C++ с приложениями, построенными в Visual C++ Express, используйте распространяемый пакет Visual C++. Дополнительные сведения см. в разделе Практическое руководство. Развертывание с помощью Xcopy.
Добавление в проект библиотек DLL и EXE и указание места установки этих библиотек на конечном компьютере
В меню Проект выберите команду Добавить и щелкните пункт Файл.
Найдите папки, которые содержат файлы MyApplication.exe и MyLibrary.DLL, и выберите оба этих файла.
В окне Файловая система щелкните правой кнопкой узел Папка приложения, выберите команду Добавить и щелкните команду Создать, чтобы создать новую папку. Назовите эту папку "MyLibrary".
Снова щелкните узел Папка приложения, выберите файл MyLibrary.DLL и перетащите этот файл в папку "MyLibrary". В Обозревателе решений в пункте Обнаружение зависимостей для данного проекта можно заметить, что в Visual Studio обнаружены зависимости от MFC90.dll и MSVCR90.dll. Необходимо добавить соответствующие модули слияния для этих DLL-файлов.
В меню Проект выберите команду Добавить, затем выберите пункт Модуль слияния. Выберите Microsoft_VC90_CRT_x86.msm и Microsoft_VC90_MFC_x86.msm, затем нажмите кнопку ОК. Для отладочных версий этих модулей слияния выберите Microsoft_VC90_DebugCRT_x86.msm и Microsoft_VC90_DebugMFC_x86.msm.
Примечание. Проверьте, что модули "соответствующая политика*.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 и указание места установки этих библиотек на конечном компьютере
В меню Проект выберите команду Добавить и щелкните пункт Файл.
Найдите папки, которые содержат файлы MyApplication.exe и MyLibrary.DLL, и выберите оба этих файла.
В окне Файловая система щелкните правой кнопкой узел Папка приложения, выберите команду Добавить и щелкните команду Создать, чтобы создать новую папку. Назовите эту папку "MyLibrary".
Снова щелкните узел Папка приложения, выберите файл MyLibrary.DLL и перетащите этот файл в папку MyLibrary. В Обозревателе решений в пункте Обнаружение зависимостей для данного проекта можно увидеть, что в Visual Studio обнаружены зависимости от MFC90.dll и MSVCR90.dll. Необходимо добавить соответствующую папку для этих сборок из папки \vc\redist.
Примечание. Для отладочных построений используйте \vc\redist\debug_nonredist.
В проводнике Windows откройте %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86.
Удерживая клавишу CTRL, щелкните папки Microsoft.VC90.CRT и Microsoft.VC90.MFC. Перетащите эти папки в Visual Studio и вставьте в папку приложения.
Повторите шаг 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
Если выполнить только что собранный файл setup.exe в операционной системе, которая поддерживает привязку на основе манифеста (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), происходит следующее:
Приложение устанавливается в указанную папку.
Приложение и библиотека DLL используют сборки CRT и MFC из папок Microsoft.VC90.CRT и Microsoft.VC90.MFC во время выполнения.
Данный метод развертывания не рекомендуется использовать в операционной системе, которая не поддерживает привязку на основе манифеста (Windows 2000). При попытке развертывания сборок Visual Studio в качестве закрытых сборок на этих операционных системах и пошаговом выполнении вышеуказанных действий, загрузчику операционной системы не удастся найти библиотеки CRT и MFC. Чтобы загрузчику удалось найти эти библиотеки, необходимо добавить папки, которые содержат Microsoft.VC90.CRT и Microsoft.VC90.MFC, к переменной среды PATH. В этом режиме происходит следующее:
Приложение установлено в указанную папку.
Загрузчик системы находит расположение закрытых сборок CRT и MFC из папок Microsoft.VC90.CRT и Microsoft.VC90.MFC посредством переменной среды PATH во время выполнения.
См. также
Задачи
Практическое руководство. Развертывание с помощью Xcopy