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


Практическое руководство. Создание манифеста продукта

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

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

Создание манифеста продукта

Процедура создания манифеста продукта

  1. Создайте каталог для пакета загрузчика. В данном примере используется каталог "C:\package".

  2. В Visual Studio создайте новый XML-файл product.xml и сохраните его в папке "C:\package".

  3. Чтобы описать пространство имен XML и код продукта для пакета, добавьте следующий XML-код. Вместо кода продукта укажите уникальный идентификатор пакета.

    <Product
    xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper" 
    ProductCode="Custom.Bootstrapper.Package">
    
  4. Чтобы указать, что пакет имеет зависимость, добавьте следующий XML-код. В этом примере кода показана зависимость от установщика Microsoft Windows 3.1.

        <RelatedProducts>
            <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
          </RelatedProducts>
    
  5. Чтобы указать файлы, содержащиеся в пакете загрузчика, добавьте следующий XML-код. В этом примере в качестве имени файла пакета используется CorePackage.msi.

        <PackageFiles>
            <PackageFile Name="CorePackage.msi"/>
        </PackageFiles>
    
  6. Скопируйте или переместите файл CorePackage.msi в папку "C:\package".

  7. Чтобы установить пакет с помощью команд загрузчика, добавьте следующий XML-код. Загрузчик автоматически добавляет флаг /qn в MSI-файл, который будет установлен в автоматическом режиме. Если файл является исполняемым (EXE-файл), загрузчик запускает его с помощью оболочки. В следующем примере XML-кода для файла CorePackage.msi не заданы аргументы, однако в атрибут Arguments можно добавить аргумент командной строки.

        <Commands>
            <Command PackageFile="CorePackage.msi" Arguments="">
    
  8. Чтобы проверить, установлен ли пакет загрузчика, добавьте следующий XML-код. Вместо кода продукта укажите GUID распространяемого компонента.

            <InstallChecks>
                <MsiProductCheck 
                    Property="IsMsiInstalled" 
                    Product="{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
            </InstallChecks>
    
  9. Чтобы изменить поведение загрузчика в зависимости от того, установлен ли компонент загрузчика, добавьте следующий XML-код. Если компонент установлен, пакет загрузчика не запустится. В следующем примере XML-кода выполняется проверка, является ли текущий пользователь администратором, поскольку для работы этого компонента требуются права администратора.

            <InstallConditions>
                <BypassIf 
                   Property="IsMsiInstalled" 
                   Compare="ValueGreaterThan" Value="0"/>
                <FailIf Property="AdminUser" 
                    Compare="ValueNotEqualTo" Value="True"
                    String="NotAnAdmin"/>
            </InstallConditions>
    
  10. Чтобы добавить коды выхода при успешной установке и при необходимости перезагрузки, добавьте следующий XML-код. В этом примере XML-кода показаны коды выхода Fail и FailReboot, которые указывают, что загрузчик не будет продолжать установку пакетов.

            <ExitCodes>
                <ExitCode Value="0" Result="Success"/>
                <ExitCode Value="1641" Result="SuccessReboot"/>
                <ExitCode Value="3010" Result="SuccessReboot"/>
                <DefaultExitCode Result="Fail" String="GeneralFailure"/>
            </ExitCodes>
    
  11. Чтобы завершить раздел команд загрузчика добавьте следующий XML-код.

            </Command>
        </Commands>
    
  12. Переместите папку "C:\package" в каталог загрузчика Visual Studio. Каталог загрузчика в Visual Studio 2010: \Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.

Пример

Манифест продукта содержит инструкции по установке необходимых компонентов при выборочной установке.

<?xml version="1.0" encoding="utf-8" ?>
<Product
  xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper"
  ProductCode="Custom.Bootstrapper.Package">

  <RelatedProducts>
    <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
  </RelatedProducts>

  <PackageFiles>
    <PackageFile Name="CorePackage.msi"/>
  </PackageFiles>

  <InstallChecks>
    <MsiProductCheck Product="IsMsiInstalled" 
      Property="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
  </InstallChecks>

  <Commands>
    <Command PackageFile="CorePackage.msi" Arguments="">

      <InstallConditions>
        <BypassIf Property="IsMsiInstalled"
          Compare="ValueGreaterThan" Value="0"/>
        <FailIf Property="AdminUser" 
          Compare="ValueNotEqualTo" Value="True"
         String="NotAnAdmin"/>
      </InstallConditions>

      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <DefaultExitCode Result="Fail" String="GeneralFailure"/>
      </ExitCodes>
    </Command>
  </Commands>
</Product>

См. также

Ссылки

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