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


Предварительные требования к развертыванию приложений (рабочий стол Windows)

Чтобы успешно установить и запустить классическое приложение Windows, компоненты, от которых зависит ваше приложение, должны быть установлены на целевом компьютере. В этой статье представлен обзор установки необходимых компонентов для проектов ClickOnce и установщика Windows Setup.

Вы можете выбрать необходимые компоненты, называемые предварительными требованиями, например .NET Framework и любой другой распространяемый компонент в рамках установки. Процесс установки необходимых компонентов называется начальной загрузкой. Visual Studio создает исполняемую программу Windows с именемSetup.exe, также называемую загрузчиком. Загрузчик отвечает за установку этих предварительных требований перед запуском приложения. Дополнительные сведения о выборе этих предварительных требований см. в диалоговом окне "Предварительные требования".

Пакет начальной загрузки — это группа каталогов и файлов, содержащих файлы манифеста, описывающие установку необходимых компонентов. Каждое условие, отображаемое в диалоговом окне "Предварительные требования", является пакетом начальной загрузки. Если необходимые компоненты приложения не указаны в диалоговом окне "Предварительные требования", можно создать пользовательские пакеты начальной загрузки и добавить их в Visual Studio. Затем можно выбрать необходимые компоненты в диалоговом окне "Предварительные требования". Дополнительные сведения см. в разделе "Создание пакетов начальной загрузки".

По умолчанию начальная загрузка включена для развертывания установщика Windows (с помощью проектов установки в Visual Studio) и развертывания ClickOnce. Загрузчик, созданный для развертывания установщика Windows, не подписан, но в развертывании ClickOnce загрузчик подписан. Вы можете отключить начальную загрузку для компонента, но это необходимо сделать только в том случае, если вы уверены, что правильная версия компонента уже установлена на всех целевых компьютерах.

Развертывание начальной загрузки и ClickOnce

Перед установкой приложения на клиентском компьютере ClickOnce проверяет клиент, чтобы убедиться, что у него есть требования, указанные в манифесте приложения. К этим требованиям относятся следующие требования:

  • Минимальная требуемая версия среды CLR, которая указывается в качестве зависимости сборки в манифесте приложения.

  • Минимальная требуемая версия операционной системы Windows, требуемая приложением, как указано в манифесте приложения с помощью <osVersionInfo> элемента. (См <элемент зависимости>.)

  • Минимальная версия всех сборок, которые должны быть предварительно установлены в глобальном кэше сборок (GAC), как указано в объявлениях зависимостей сборки в манифесте сборки.

    ClickOnce может обнаружить отсутствующие предварительные требования и установить необходимые компоненты с помощью загрузчика. Дополнительные сведения см. в разделе "Практическое руководство. Установка необходимых компонентов с помощью приложения ClickOnce".

Замечание

Чтобы изменить значения в манифестах, созданных такими инструментами, как Visual Studio и MageUI.exe, необходимо изменить манифест приложения в текстовом редакторе, а затем повторно подписать манифест приложения и развертывания. Дополнительные сведения см. в статье "Практическое руководство. Повторная регистрация приложений и манифестов развертывания".

Если вы используете Visual Studio и ClickOnce для развертывания приложения, пакеты загрузчика, выбранные по умолчанию, зависят от версии .NET Framework в решении. Однако если изменить целевую версию .NET Framework, необходимо вручную обновить параметры в диалоговом окне "Предварительные требования ".

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

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

Начальная загрузка и MSBuild

Если вы не используете Visual Studio, а скомпилируйте приложения в командной строке, вы можете создать загрузочное приложение ClickOnce с помощью задачи Microsoft Build Engine (MSBuild). Дополнительные сведения см. в разделе "Задача GenerateBootstrapper".

В качестве альтернативы начальной загрузке можно предварительно развернуть компоненты с помощью электронной системы распространения программного обеспечения, например Microsoft Systems Management Server (SMS).

Аргументы командной строки загрузчика (Setup.exe)

Setup.exe, созданный с помощью Visual Studio и задач MSBuild, поддерживает следующий набор аргументов командной строки. Любые другие аргументы перенаправляются в установщик приложения.

При изменении параметров начальной загрузки необходимо изменить неподписанный загрузчик, а затем подписать файл начальной загрузки.

Аргумент командной строки Описание
-?, -h, -help Отображает диалоговое окно справки.
-url, -componentsurl Отображает сохраненный URL-адрес и URL-адрес компонентов для этой настройки.
-url=location Задает URL-адрес, в которомSetup.exe будет искать приложение ClickOnce.
-componentsurl=location Задает URL-адрес, в котором Setup.exe будет искать зависимости, например .NET Framework.
-homesite=true|false Когда true, загружает зависимости из предпочтительного местоположения на сайте поставщика. Этот параметр переопределяет параметр -componentsurl . При falseзагрузке зависимостей из URL-адреса, указанного параметром -componentsurl.

Поддержка операционной системы

Загрузчик Visual Studio не поддерживается в Windows Server 2008 Server Core или Windows Server 2008 R2 Server Core, так как они обеспечивают серверную среду с минимальными требованиями к обслуживанию и ограниченной функциональностью. Например, параметр установки Server Core поддерживает только профиль .NET Framework 3.5 Server Core, который не может запускать функции Visual Studio, зависящие от полной платформы .NET Framework.