<Element Commands> (bootstrapper)
Element Commands
implementuje testy popsané prvky pod InstallChecks
elementy a deklaruje, který balíček ClickOnce bootstrapper by měl nainstalovat, pokud test selže.
Syntaxe
<Commands
Reboot
>
<Command
PackageFile
Arguments
EstimatedInstallSeconds
EstimatedDiskBytes
EstimatedTempBytes
Log
>
<InstallConditions>
<BypassIf
Property
Compare
Value
Schedule
/>
<FailIf
Property
Compare
Value
String
Schedule
/>
</InstallConditions>
<ExitCodes>
<ExitCode
Value
Result
String
/>
</ExitCodes>
</Command>
</Commands>
Prvky a atributy
Prvek Commands
je povinný. Element má následující atribut.
Atribut | Popis |
---|---|
Reboot |
Nepovinné. Určuje, zda má systém restartovat, pokud některý z balíčků vrátí ukončovací kód restartování. V následujícím seznamu jsou uvedeny platné hodnoty:Defer . Restartování se odloží do budoucnosti.Immediate . Způsobí okamžité restartování, pokud některý z balíčků vrátil ukončovací kód restartování.None . Způsobí ignorování všech požadavků na restartování.Výchozí hodnota je Immediate . |
Příkaz
Element Command
je podřízený prvek elementu Commands
. Prvek Commands
může mít jeden nebo více Command
prvků. Element má následující atributy.
Atribut | Popis |
---|---|
PackageFile |
Požadováno. Název balíčku, který se má nainstalovat, by měl mít jednu nebo více podmínek určených InstallConditions hodnotou false. Balíček musí být definován ve stejném souboru pomocí elementu PackageFile . |
Arguments |
Nepovinné. Sada argumentů příkazového řádku, které se mají předat do souboru balíčku. |
EstimatedInstallSeconds |
Nepovinné. Odhadovaný čas v sekundách bude trvat instalaci balíčku. Tato hodnota určuje velikost indikátoru průběhu, který se zobrazí uživateli. Výchozí hodnota je 0, v takovém případě není zadán žádný časový odhad. |
EstimatedDiskBytes |
Nepovinné. Odhadované místo na disku v bajtech, které bude balíček po dokončení instalace zabírat. Tato hodnota se používá v požadavcích na místo na pevném disku, které se uživateli zobrazí bootstrapper. Výchozí hodnota je 0, v takovém případě bootstrapper nezobrazuje žádné požadavky na místo na pevném disku. |
EstimatedTempBytes |
Nepovinné. Odhadované množství dočasného místa na disku v bajtech, které bude balíček vyžadovat. |
Log |
Nepovinné. Cesta k souboru protokolu, který balíček generuje vzhledem ke kořenovému adresáři balíčku. |
Installconditions
Element InstallConditions
je podřízený prvek Command
. Každý Command
prvek může mít maximálně jeden InstallConditions
prvek. Pokud žádný prvek neexistuje InstallConditions
, balíček určený Condition
vždy spustí.
BypassIf
Prvek BypassIf
je podřízený prvek elementu InstallConditions
a popisuje pozitivní podmínku, pod kterou by se příkaz neměl spustit. Každý InstallConditions
prvek může mít nula nebo více BypassIf
prvků.
BypassIf
má následující atributy.
Atribut | Popis |
---|---|
Property |
Požadováno. Název vlastnosti, která se má testovat. Vlastnost musí být dříve definována podřízeným prvkem InstallChecks . Další informace naleznete v tématu <InstallChecks> – element. |
Compare |
Povinný: Typ porovnání, který se má provést. V následujícím seznamu jsou uvedeny platné hodnoty:ValueEqualTo , ValueNotEqualTo , , ValueGreaterThan , ValueLessThan ValueLessThanOrEqualTo , VersionLessThanOrEqualTo ValueExists ValueGreaterThanOrEqualTo VersionEqualTo VersionNotEqualTo VersionGreaterThan VersionGreaterThanOrEqualTo VersionLessThan ValueNotExists |
Value |
Povinný: Hodnota, která se má porovnat s vlastností. |
Schedule |
Nepovinné. Název Schedule značky, která definuje, kdy má být toto pravidlo vyhodnoceno. |
FailIf
Prvek FailIf
je podřízený prvek InstallConditions
a popisuje pozitivní stav, pod kterým by se instalace měla zastavit. Každý InstallConditions
prvek může mít nula nebo více FailIf
prvků.
FailIf
má následující atributy.
Atribut | Popis |
---|---|
Property |
Požadováno. Název vlastnosti, která se má testovat. Vlastnost musí být dříve definována podřízeným prvkem InstallChecks . Další informace naleznete v tématu <InstallChecks> – element. |
Compare |
Povinný: Typ porovnání, který se má provést. V následujícím seznamu jsou uvedeny platné hodnoty:ValueEqualTo , ValueNotEqualTo , , ValueGreaterThan , ValueLessThan ValueLessThanOrEqualTo , VersionLessThanOrEqualTo ValueExists ValueGreaterThanOrEqualTo VersionEqualTo VersionNotEqualTo VersionGreaterThan VersionGreaterThanOrEqualTo VersionLessThan ValueNotExists |
Value |
Povinný: Hodnota, která se má porovnat s vlastností. |
String |
Nepovinné. Text, který se má uživateli zobrazit při selhání |
Schedule |
Nepovinné. Název Schedule značky, která definuje, kdy má být toto pravidlo vyhodnoceno. |
Ukončovací kódy
Element ExitCodes
je podřízený prvek Command
. Prvek ExitCodes
obsahuje jeden nebo více ExitCode
prvků, které určují, co má instalace dělat v reakci na ukončovací kód z balíčku. Pod elementem může být jeden volitelný ExitCode
prvek Command
. ExitCodes
nemá žádné atributy.
Exitcode
Element ExitCode
je podřízený prvek ExitCodes
. Element ExitCode
určuje, co má instalace dělat v reakci na ukončovací kód z balíčku. ExitCode
neobsahuje žádné podřízené prvky a má následující atributy.
Atribut | Popis |
---|---|
Value |
Požadováno. Hodnota ukončovacího kódu, na kterou se tento ExitCode prvek vztahuje. |
Result |
Povinný: Jak by instalace měla reagovat na tento ukončovací kód. V následujícím seznamu jsou uvedeny platné hodnoty:Success . Označí balíček jako úspěšně nainstalovaný.SuccessReboot . Označí balíček jako úspěšně nainstalovaný a dá systému pokyn, aby se restartoval.Fail . Označí balíček příznakem jako neúspěšný.FailReboot . Označí balíček příznakem jako neúspěšný a dá systému pokyn, aby se restartoval. |
String |
Nepovinné. Hodnota, která se má uživateli zobrazit v reakci na tento ukončovací kód. |
FormatMessageFromSystem |
Nepovinné. Určuje, zda se má použít systémová chybová zpráva odpovídající ukončovacímu kódu, nebo použít hodnotu zadanou v String . Platné hodnoty jsou true , což znamená použití systémové chyby, a false , což znamená použití řetězce poskytnutého String . Výchozí hodnota je false . Pokud je false tato vlastnost , ale String není nastavena, použije se chyba zadanou systémem. |
Příklad
Následující příklad kódu definuje příkazy pro instalaci rozhraní .NET Framework 2.0.
<Commands Reboot="Immediate">
<Command PackageFile="instmsia.exe"
Arguments= ' /q /c:"msiinst /delayrebootq"'
EstimatedInstallSeconds="20" >
<InstallConditions>
<BypassIf Property="VersionNT" Compare="ValueExists"/>
BypassIf Property="VersionMsi" Compare="VersionGreaterThanOrEqualTo" Value="2.0"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="SuccessReboot"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
<Command PackageFile="WindowsInstaller-KB884016-v2-x86.exe"
Arguments= '/quiet /norestart'
EstimatedInstallSeconds="20" >
<InstallConditions>
<BypassIf Property="Version9x" Compare="ValueExists"/>
<BypassIf Property="VersionNT" Compare="VersionLessThan" Value="5.0.3"/>
<BypassIf Property="VersionMsi" Compare="VersionGreaterThanOrEqualTo" Value="3.0"/>
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
<Command PackageFile="dotnetfx.exe"
Arguments=' /q:a /c:"install /q /l"'
EstimatedInstalledBytes="21000000"
EstimatedInstallSeconds="300">
<!-- These checks determine whether the package is to be installed -->
<InstallConditions>
<!-- Either of these properties indicates the .NET Framework is already installed -->
<BypassIf Property="DotNetInstalled" Compare="ValueNotEqualTo" Value="0"/>
<!-- Block install if user does not have adminpermissions -->
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
<!-- Block install on Windows 95 -->
<FailIf Property="Version9X" Compare="VersionLessThan" Value="4.10" String="InvalidPlatformWin9x"/>
<!-- Block install on Windows 8 or less -->
<FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.2" String="InvalidPlatformWinNT"/>
<!-- Block install if Internet Explorer 5.01 or later is not present -->
<FailIf Property="IEVersion" Compare="ValueNotExists" String="InvalidPlatformIE" />
<FailIf Property="IEVersion" Compare="VersionLessThan" Value="5.01" String="InvalidPlatformIE" />
<!-- Block install if the operating system does not support x86 -->
<FailIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel" String="InvalidPlatformArchitecture" />
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<ExitCode Value="4097" Result="Fail" String="AdminRequired"/>
<ExitCode Value="4098" Result="Fail" String="WindowsInstallerComponentFailure"/>
<ExitCode Value="4099" Result="Fail" String="WindowsInstallerImproperInstall"/>
<ExitCode Value="4101" Result="Fail" String="AnotherInstanceRunning"/>
<ExitCode Value="4102" Result="Fail" String="OpenDatabaseFailure"/>
<ExitCode Value="4113" Result="Fail" String="BetaNDPFailure"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>