Sdílet prostřednictvím


Vytvoření manifestu produktu

Pokud chcete nasadit požadavky pro vaši aplikaci, můžete vytvořit balíček bootstrapperu. Balíček bootstrapperu obsahuje jeden soubor manifestu produktu, ale manifest balíčku pro každé národní prostředí. Manifest balíčku obsahuje aspekty specifické pro lokalizaci vašeho balíčku. To zahrnuje řetězce, licenční smlouvy s koncovým uživatelem a jazykové sady.

Další informace o manifestech balíčků naleznete v tématu Postupy: Vytvoření manifestu balíčku.

Vytvoření manifestu produktu

Vytvoření manifestu produktu

  1. Vytvořte adresář pro balíček bootstrapperu. V tomto příkladu se používá C:\package.

  2. V sadě Visual Studio vytvořte nový soubor XML s názvem product.xml a uložte ho do složky C:\package .

  3. Přidejte následující kód XML, který popisuje obor názvů XML a kód produktu pro balíček. Nahraďte kód produktu jedinečným identifikátorem balíčku.

    <Product
    xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
    ProductCode="Custom.Bootstrapper.Package">
    
  4. Přidáním XML určíte, že balíček má závislost. Tento příklad používá závislost na Instalační službě systému Microsoft Windows 3.1.

    <RelatedProducts>
        <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
      </RelatedProducts>
    
  5. Přidejte XML pro výpis všech souborů, které jsou v balíčku bootstrapper. V tomto příkladu se používá název souboru balíčku CorePackage.msi.

    <PackageFiles>
        <PackageFile Name="CorePackage.msi"/>
    </PackageFiles>
    
  6. Zkopírujte nebo přesuňte soubor CorePackage.msi do složky C:\package .

  7. Přidejte XML pro instalaci balíčku pomocí příkazů bootstrapperu. Bootstrapper automaticky přidá příznak /qn do souboru .msi , který se nainstaluje bezobslužně. Pokud je soubor .exe, bootstrapper spustí soubor .exe pomocí prostředí. Následující kód XML neobsahuje žádné argumenty pro CorePackage.msi, ale do atributu můžete vložit argument příkazového Arguments řádku.

    <Commands>
        <Command PackageFile="CorePackage.msi" Arguments="">
    
  8. Přidejte následující kód XML a zkontrolujte, jestli je tento balíček bootstrapperu nainstalovaný. Nahraďte kód produktu identifikátorem GUID pro redistribuovatelný komponentu.

    <InstallChecks>
        <MsiProductCheck
            Property="IsMsiInstalled"
            Product="{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
    </InstallChecks>
    
  9. Přidejte kód XML pro změnu chování bootstrapperu v závislosti na tom, jestli je komponenta bootstrapper již nainstalována. Pokud je komponenta nainstalovaná, balíček bootstrapperu se nespustí. Následující kód XML zkontroluje, jestli je aktuální uživatel správcem, protože tato komponenta vyžaduje oprávnění správce.

    <InstallConditions>
        <BypassIf
           Property="IsMsiInstalled"
           Compare="ValueGreaterThan" Value="0"/>
        <FailIf Property="AdminUser"
            Compare="ValueNotEqualTo" Value="True"
            String="NotAnAdmin"/>
    </InstallConditions>
    
  10. Přidejte kód XML pro nastavení ukončovací kódy, pokud instalace proběhne úspěšně a pokud je potřeba restartovat počítač. Následující kód XML ukazuje ukončovací kódy Fail a FailReboot, které indikují, že bootstrapper nebude pokračovat v instalaci balíčků.

    <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <DefaultExitCode Result="Fail" String="GeneralFailure"/>
    </ExitCodes>
    
  11. Přidáním následujícího kódu XML ukončete část příkazů bootstrapperu.

        </Command>
    </Commands>
    
  12. Přesuňte složku C:\package do adresáře bootstrapper sady Visual Studio. Pro starší verze sady Visual Studio se jedná o adresář \Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages .

Příklad

Manifest produktu obsahuje pokyny k instalaci pro vlastní požadavky.

<?xml version="1.0" encoding="utf-8" ?>
<Product
  xmlns="http://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 Property="IsMsiInstalled"
      Product="{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>