Porady: tworzenie manifestu produkt
Aby wdrożyć wymagania wstępne dotyczące aplikacji, można utworzyć pakiet program inicjujący.Program inicjujący pakiet zawiera pojedynczy produkt pliku manifestu ale manifest pakietu dla każdego ustawienia regionalnego.Manifest pakietu zawiera lokalizacji określonych aspektów pakietu.Obejmuje to ciągi, umowy licencyjne użytkownika oprogramowania i pakietów językowych.
Aby uzyskać więcej informacji na temat manifestów produktu, zobacz Porady: tworzenie manifestu pakietu.
Tworzenie manifestu produktu
Aby utworzyć manifestu produktu
Utwórz katalog do pakietu program inicjujący.W tym przykładzie użyto C:\package.
W programie Visual Studio, należy utworzyć nowy plik XML o nazwie product.xmli zapisać go w folderze C:\package.
Dodaj następujące XML do opisu kodu XML nazw i produktu dla pakietu.Zastąp kod produktu identyfikator unikatowy pakietu.
<Product xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Custom.Bootstrapper.Package">
Dodaj XML, aby określić, że pakiet ma zależności.W tym przykładzie użyto zależność na Instalator systemu Microsoft Windows 3.1.
<RelatedProducts> <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" /> </RelatedProducts>
Dodaj XML, aby wyświetlić listę wszystkich plików, które są dostępne w pakiecie program inicjujący.W tym przykładzie nazwa pliku pakietu CorePackage.msi.
<PackageFiles> <PackageFile Name="CorePackage.msi"/> </PackageFiles>
Skopiuj lub Przenieś plik CorePackage.msi do folderu C:\package.
Dodaj XML, aby zainstalować pakiet przy użyciu poleceń program inicjujący.Program inicjujący automatycznie dodaje /qn flagę plik msi, w którym zostanie zainstalowany w trybie cichym.Jeśli jest używany plik .exe, program inicjujący uruchamia plik .exe za pomocą powłoki.Następujący kod XML zawiera żadnych argumentów do CorePackage.msi, ale argument wiersza polecenia można umieścić w atrybucie argumentów.
<Commands> <Command PackageFile="CorePackage.msi" Arguments="">
Dodaj następujące XML, aby sprawdzić, czy zainstalowano pakiet ten program inicjujący.Identyfikator GUID dla składnika redystrybucyjnego należy zastąpić kod produktu.
<InstallChecks> <MsiProductCheck Property="IsMsiInstalled" Product="{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/> </InstallChecks>
Dodaj XML, aby zmienić zachowanie program inicjujący zależności, jeśli jest już zainstalowany składnik program inicjujący.Jeśli jest instalowany pakiet program inicjujący nie jest uruchamiany.Następujący kod XML kontroli, jeśli bieżący użytkownik jest administratorem, ponieważ ten składnik wymaga uprawnień administracyjnych.
<InstallConditions> <BypassIf Property="IsMsiInstalled" Compare="ValueGreaterThan" Value="0"/> <FailIf Property="AdminUser" Compare="ValueNotEqualTo" Value="True" String="NotAnAdmin"/> </InstallConditions>
Dodaj XML, aby ustawić kody wyjścia, jeśli instalacja się powiodła, i jeśli konieczne jest ponowny rozruch.Następujący kod XML przedstawiono błędów i FailReboot exit kody, które wskazują, że program inicjujący nie będzie kontynuować instalowanie pakietów.
<ExitCodes> <ExitCode Value="0" Result="Success"/> <ExitCode Value="1641" Result="SuccessReboot"/> <ExitCode Value="3010" Result="SuccessReboot"/> <DefaultExitCode Result="Fail" String="GeneralFailure"/> </ExitCodes>
Dodaj następujące XML, aby zakończyć program inicjujący polecenia w sekcji.
</Command> </Commands>
Przenieść C:\package folder do katalogu program inicjujący Visual Studio.Program Visual Studio 2010 jest to katalog \Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.
Przykład
Manifest produktu zawiera instrukcje dotyczące instalacji niestandardowej wstępnych.
<?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>