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


Создание пакетов начальной загрузки

Программа установки — это универсальный установщик, который можно настроить для обнаружения и установки распространяемых компонентов, таких как установщик Windows (.msi) и исполняемые программы. Установщик также называется загрузчиком. Он запрограммирован с помощью набора XML-манифестов, определяющих метаданные для управления установкой компонента. Каждый распространяемый компонент или предварительные требования, отображаемые в диалоговом окне "Предварительные требования" для ClickOnce, является пакетом начальной загрузки. Пакет начальной загрузки — это группа каталогов и файлов, содержащих файлы манифеста, описывающие установку необходимых компонентов.

Загрузчик сначала обнаруживает, установлены ли все необходимые компоненты. Если предварительные требования не установлены, сначала загрузчик отображает лицензионные соглашения. Во-вторых, после того, как конечный пользователь принимает лицензионные соглашения, установка начинается для предварительных требований. В противном случае, если обнаружены все предварительные требования, загрузчик просто запускает установщик приложения.

Создание пользовательских пакетов начальной загрузки

Манифесты начального загрузчика можно создать с помощью редактора XML в Visual Studio. Чтобы просмотреть пример создания пакета начальной загрузки, см. Пошаговое руководство: Создание настраиваемого загрузчика с запросом конфиденциальности.

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

  • Манифест продукта product.xml содержит любые метаданные, не зависящие от языка, для пакета. Это содержит метаданные, общие для всех локализованных версий распространяемого компонента. Сведения о создании этого файла см. в разделе "Практическое руководство. Создание манифеста продукта".

  • Манифест пакета ,package.xml, содержит метаданные, относящиеся к языку; Обычно он содержит локализованные сообщения об ошибках. Компонент должен иметь по крайней мере один манифест пакета для каждой локализованной версии этого компонента. Сведения о создании этого файла см. в разделе "Практическое руководство. Создание манифеста пакета".

После создания этих файлов поместите файл манифеста продукта в папку с именем пользовательского загрузчика. Файл манифеста пакета помещается в папку с названием языкового стандарта. Например, если файл манифеста пакета предназначен для распространения английского языка, поместите файл в папку с именем en. Повторите этот процесс для каждого языкового стандарта, например ja для японского и de для немецкого языка. Последний пользовательский пакет начальной загрузки может иметь следующую структуру папок.

CustomBootstrapperPackage
  product.xml
  CustomBootstrapper.msi
  de
    eula.rtf
    package.xml
  en
    eula.rtf
    package.xml
  ja
    eula.rtf
    package.xml

Затем скопируйте распространяемые файлы в папку начальной загрузки. Дополнительные сведения см. в статье "Практическое руководство. Создание локализованного пакета начального загрузчика".

*\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages*

или

*<VS Install Path>\MSBuild\Microsoft\VisualStudio\BootstrapperPackages*

Замечание

Путь, указанный выше в пути установки Visual Studio, работает начиная с выпуска обновления 7 для Visual Studio 2019.

Расположение папки начальной загрузки также можно найти в значении Path в следующем разделе реестра:

*HKLM\Software\Microsoft\GenericBootstrapper*

В 64-разрядных системах используйте следующий раздел реестра:

*HKLM\Software\Wow6432Node\Microsoft\GenericBootstrapper*

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

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

В таблице ниже перечислены свойства, которые загрузчик заполняет автоматически.

Недвижимость Описание
ИмяПриложения Имя приложения.
ПроцессорАрхитектура Процессор и количество битов на слово в платформе, которая является целью исполняемого файла. В эти значения входят:

— Intel
- IA64
— AMD64
VersionNT Номер версии для операционных систем Windows. Синтаксис версии — Major.Minor.ServicePack.
VersionMSI Версия сборки установщика Windows (msi.dll) для запуска во время установки.
AdminUser Это свойство задается, если у пользователя есть права администратора. Значения — true или false.
Режим установки Режим установки указывает, откуда должен быть установлен компонент. В эти значения входят:

— HomeSite — необходимые компоненты устанавливаются на веб-сайте поставщика.
— SpecificSite — предварительные условия устанавливаются из местоположения, которое вы выбрали.
— SameSite — необходимые компоненты устанавливаются из того же расположения, что и приложение.

Отделите распространяемые компоненты от установок приложений.

Вы можете предотвратить развертывание распространяемых файлов в проектах установки. Для этого создайте распространяемый список в папке RedistList в каталоге .NET Framework:

%ProgramFiles%\Microsoft.NET\RedistList

Распространяемый список — это XML-файл, который следует назвать с помощью следующего формата: <Имя> компании.<Имя> компонента.RedistList.xml. Например, если компонент называется DataWidgets, разработанный Acme, используйте Acme.DataWidgets.RedistList.xml. Пример содержимого распространяемого списка может выглядеть следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<FileList Redist="Acme.DataWidgets" >
<File AssemblyName="Acme.DataGrid" Version="1.0.0.0" PublicKeyToken="b03f5f7f11d50a3a" Culture="neutral" ProcessorArchitecture="MSIL" InGAC="true" />
</FileList>