<Commands> Prvek (Zaváděcího Nástroje)
Prvek Commands implementuje testy popsané prvky podřazenými InstallChecks prvku a deklaruje, který balíček by měl zaváděcí nástroj ClickOnce instalovat, jestliže se test nezdaří.
<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>
Atributy a prvky
Commands Je požadován prvek. Prvek má následující atribut.
Atribut |
Popis |
---|---|
Reboot |
Nepovinné. Určuje, zda by měl systém být restartován, pokud některý z balíčků vrátí ukončovací kód restartování. Následující seznam uvádí platné hodnoty: Defer. Restartování je odloženo až do příště. Immediate. Způsobí okamžité restartování, pokud jeden z balíčků vrátil ukončovací kód restartování. Žádná. Způsobí, že všechny požadavky na restartování budou ignorovány. Výchozí hodnota je Immediate. |
Příkaz
Prvek Command je podřízeným prvkem prvku Commands. Prvek Commands může mít jeden či více prvků Command. Prvek má následující atributy.
Atribut |
Popis |
---|---|
PackageFile |
Povinné. Název balíčku pro instalaci by měl na jednu nebo více podmínek určených v InstallConditions vrátit hodnotu false. Balíček musí být definován ve stejném souboru pomocí prvku PackageFile. |
Arguments |
Nepovinné. Sada argumentů příkazového řádku k předání do souboru balíčku. |
EstimatedInstallSeconds |
Nepovinné. Instalace balíčku bude trvat odhadovaný čas v sekundách. Tato hodnota určuje velikost indikátoru průběhu, který zaváděcí nástroj zobrazí uživateli. Výchozí hodnota je 0, v takovém případě není zadán časový odhad. |
EstimatedDiskBytes |
Nepovinné. Odhadovaný prostor na disku v bajtech, který bude balíček zabírat po dokončení instalace. Tato hodnota je použita v požadavcích na prostor na pevném disku, které zaváděcí nástroj zobrazí uživateli. Výchozí hodnota je 0, při které zaváděcí nástroj nezobrazuje žádné požadavky na volný prostor na pevném disku. |
EstimatedTempBytes |
Nepovinné. Odhadovaná velikost dočasného prostoru na disku v bajtech, kterou bude vyžadovat balíček. |
Log |
Nepovinné. Cesta k soubor protokolu, který generuje balíček vzhledem ke kořenovému adresáři balíčku. |
InstallConditions
Prvek InstallConditions je podřízeným prvkem prvku Command. Každý Command prvek může mít nejvýše jeden prvek InstallConditions. Pokud neexistuje žádný prvek InstallConditions, balíček určený pomocí Condition bude vždy spuštěn.
BypassIf
Prvek BypassIf je podřízeným prvkem prvku InstallConditions a popisuje pozitivní podmínku, při které by neměl být příkaz spouštěn. Každý InstallConditions prvek může mít nula nebo více BypassIf prvky.
BypassIfatributy.
Atribut |
Popis |
---|---|
Property |
Povinné. Název vlastnosti, kterou chcete otestovat. Vlastnost musí být dříve definována podřízený prvkem InstallChecks. Další informace naleznete v tématu <InstallChecks> Prvek (Zaváděcího Nástroje). |
Compare |
Povinné. Typ porovnání k provedení. Následující seznam uvádí platné hodnoty: ValueEqualTo, ValueNotEqualTo, ValueGreaterThan, ValueGreaterThanOrEqualTo, ValueLessThan, ValueLessThanOrEqualTo, VersionEqualTo, VersionNotEqualTo, VersionGreaterThan, VersionGreaterThanOrEqualTo, VersionLessThan, VersionLessThanOrEqualTo, ValueExists, ValueNotExists |
Value |
Povinné. Hodnota pro porovnání s vlastností. |
Schedule |
Nepovinné. Název značky Schedule, která definuje, kdy by mělo být toto pravidlo vyhodnoceno. |
FailIf
Prvek FailIf je podřízeným prvkem prvku InstallConditions a popisuje pozitivní podmínky, za kterých by se měla instalace zastavit. Každý InstallConditions prvek může mít nula nebo více FailIf prvky.
FailIfatributy.
Atribut |
Popis |
---|---|
Property |
Povinné. Název vlastnosti, kterou chcete otestovat. Vlastnost musí být dříve definována podřízený prvkem InstallChecks. Další informace naleznete v tématu <InstallChecks> Prvek (Zaváděcího Nástroje). |
Compare |
Povinné. Typ porovnání k provedení. Následující seznam uvádí platné hodnoty: ValueEqualTo, ValueNotEqualTo, ValueGreaterThan, ValueGreaterThanOrEqualTo, ValueLessThan, ValueLessThanOrEqualTo, VersionEqualTo, VersionNotEqualTo, VersionGreaterThan, VersionGreaterThanOrEqualTo, VersionLessThan, VersionLessThanOrEqualTo, ValueExists, ValueNotExists |
Value |
Povinné. Hodnota pro porovnání s vlastností. |
String |
Nepovinné. Text, který se zobrazí uživateli při selhání. |
Schedule |
Nepovinné. Název značky Schedule, která definuje, kdy by mělo být toto pravidlo vyhodnoceno. |
ExitCodes
Prvek ExitCodes je podřízeným prvkem prvku Command. Prvek ExitCodes obsahuje jeden nebo více prvků ExitCode určujících, co by měla provést instalace jako odpověď na ukončovací kód od balíčku. Může existovat jeden volitelný prvek ExitCode pod prvkem Command. ExitCodes nemají žádné atributy.
ExitCode
Prvek ExitCode je podřízeným prvkem prvku ExitCodes. Prvek ExitCode určuje, co by měla provést instalace jako odpověď na ukončovací kód od balíčku. ExitCode neobsahuje žádné podřízené prvky a má následující atributy.
Atribut |
Popis |
---|---|
Value |
Povinné. Hodnota ukončovacího kódu, na kterou se prvek ExitCode vztahuje. |
Result |
Povinné. Jak by instalace měla reagovat na tento ukončovací kód. Následující seznam uvádí platné hodnoty: Success. Označuje balíček jako úspěšně nainstalovaný. SuccessReboot. Označuje balíček jako úspěšně nainstalovaný a dává systému pokyn k restartování. Fail Označuje balíček jako neúspěšný. FailReboot. Označuje balíček jako neúspěšný a dává systému pokyn k restartování. |
String |
Nepovinné. Hodnota, kterou chcete zobrazit uživateli jako reakci na tento ukončovací kód. |
FormatMessageFromSystem |
Nepovinné. Určuje, zda se má použít systémem poskytovaná chybová zpráva odpovídající ukončovacímu kódu nebo použít hodnotu podle String. Platné hodnoty jsou true, což znamená použití systémem navrhované chyby a false, což znamená použití řetězce poskytovaného String. Výchozí hodnota je false. Pokud je tato vlastnost false ale String není nastaven, budou použity systémem poskytované chybové zprávy. |
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 2000 SP 2 or less -->
<FailIf Property="VersionNT" Compare="VersionLessThan" Value="5.0.3" 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>