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
Vytvořte adresář pro balíček bootstrapperu. V tomto příkladu se používá C:\package.
V sadě Visual Studio vytvořte nový soubor XML s názvem product.xml a uložte ho do složky C:\package .
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">
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>
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>
Zkopírujte nebo přesuňte soubor CorePackage.msi do složky C:\package .
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="">
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>
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>
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>
Přidáním následujícího kódu XML ukončete část příkazů bootstrapperu.
</Command> </Commands>
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>