Sdílet prostřednictvím


<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>

Viz také

Odkaz

Referenční schéma balíčku a produktu

<InstallChecks> Prvek (Zaváděcího Nástroje)