<Commands> Elemento (Bootstrapper)
O Commands elemento implementa os testes descritos pelos elementos sob o InstallChecks elemento e declara que o pacote do ClickOnce bootstrapper deve instalar, se o teste falhar.
<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>
Elementos e atributos
O Commands elemento é necessário. O elemento tem o atributo a seguir.
Atributo |
Descrição |
---|---|
Reboot |
Opcional. Determina se o sistema deve reiniciar se qualquer um dos pacotes retornar um código de saída de reinicialização. A lista a seguir mostra os valores válidos: Adiar. A reinicialização é adiada até algum momento futuro. Imediata. Se um dos pacotes retornou um código de saída de reinicialização, causa uma reinicialização imediata. Nenhum. Faz com que todas as solicitações de reinício seja ignorado. O padrão é imediata. |
Comando
Um elemento Command é um filho do elemento Commands. A Commands elemento pode ter um ou mais Command elementos. O elemento tem os seguintes atributos.
Atributo |
Descrição |
---|---|
PackageFile |
Obrigatório. O nome do pacote de instalação deve a uma ou mais das condições especificadas por InstallConditions retornar false. O pacote deve ser definido no mesmo arquivo usando um PackageFile elemento. |
Arguments |
Opcional. Um conjunto de argumentos de linha de comando para passar para o arquivo de pacote. |
EstimatedInstallSeconds |
Opcional. A estimativa de tempo, em segundos, levará para instalar o pacote. Esse valor determina o tamanho da barra de progresso que o bootstrapper exibe para o usuário. O padrão é 0, caso em que nenhum período de estimativa for especificada. |
EstimatedDiskBytes |
Opcional. A quantidade estimada de espaço em disco, em bytes, que o pacote ocupará após a instalação estará concluída. Esse valor é usado nos requisitos de espaço de disco rígido o bootstrapper exibe para o usuário. O padrão é 0, nesse caso o bootstrapper não exibe quaisquer requisitos de espaço em disco rígido. |
EstimatedTempBytes |
Opcional. A quantidade estimada de espaço temporário em disco, em bytes, que exigirá o pacote. |
Log |
Opcional. O caminho para o arquivo de log que o pacote gera, relativo ao diretório raiz do pacote. |
InstallConditions
O InstallConditions elemento é filho de Command elemento. Cada Command elemento pode ter no máximo uma InstallConditions elemento. Se nenhum InstallConditions elemento existir, o pacote especificado por Condition será sempre executado.
BypassIf
O BypassIf elemento é filho do InstallConditions elemento e descreve uma condição positiva sob a qual não deve ser executado o comando. Cada InstallConditions elemento pode ter zero ou mais BypassIf elementos.
BypassIftem os seguintes atributos.
Atributo |
Descrição |
---|---|
Property |
Obrigatório. O nome da propriedade para testar. A propriedade deve anteriormente foram definida por um filho de InstallChecks elemento. Para obter mais informações, consulte <InstallChecks> Elemento (Bootstrapper). |
Compare |
Obrigatório. O tipo de comparação para executar. A lista a seguir mostra os valores válidos: ValueEqualTo, ValueNotEqualTo, ValueGreaterThan, ValueGreaterThanOrEqualTo, ValueLessThan, ValueLessThanOrEqualTo, VersionEqualTo, VersionNotEqualTo, VersionGreaterThan, VersionGreaterThanOrEqualTo, VersionLessThan, VersionLessThanOrEqualTo, ValueExists, ValueNotExists |
Value |
Obrigatório. O valor para comparar com a propriedade. |
Schedule |
Opcional. O nome de um Schedule tag que define quando esta regra deve ser avaliada. |
FailIf
O FailIf elemento é filho de InstallConditions elemento e descreve uma condição positiva sob a qual a instalação deve parar. Cada InstallConditions elemento pode ter zero ou mais FailIf elementos.
FailIftem os seguintes atributos.
Atributo |
Descrição |
---|---|
Property |
Obrigatório. O nome da propriedade para testar. A propriedade deve anteriormente foram definida por um filho de InstallChecks elemento. Para obter mais informações, consulte <InstallChecks> Elemento (Bootstrapper). |
Compare |
Obrigatório. O tipo de comparação para executar. A lista a seguir mostra os valores válidos: ValueEqualTo, ValueNotEqualTo, ValueGreaterThan, ValueGreaterThanOrEqualTo, ValueLessThan, ValueLessThanOrEqualTo, VersionEqualTo, VersionNotEqualTo, VersionGreaterThan, VersionGreaterThanOrEqualTo, VersionLessThan, VersionLessThanOrEqualTo, ValueExists, ValueNotExists |
Value |
Obrigatório. O valor para comparar com a propriedade. |
String |
Opcional. O texto exibido para o usuário em caso de falha. |
Schedule |
Opcional. O nome de um Schedule tag que define quando esta regra deve ser avaliada. |
ExitCodes
O ExitCodes elemento é filho de Command elemento. O ExitCodes elemento contém um ou mais ExitCode elementos, que determinam o que deve fazer a instalação em resposta a um código de saída a partir de um pacote. Pode haver um opcional ExitCode elemento sob um Command elemento. ExitCodesnão tiver atributos.
Código_de_saída
O ExitCode elemento é filho de ExitCodes elemento. O ExitCode elemento determina o que deve fazer a instalação em resposta a um código de saída a partir de um pacote. ExitCodecontém nenhum elemento filho e tem os seguintes atributos.
Atributo |
Descrição |
---|---|
Value |
Obrigatório. O valor do código de saída para o qual este ExitCode elemento aplica. |
Result |
Obrigatório. Como a instalação deve reagir a este código de saída. A lista a seguir mostra os valores válidos: Sucesso. Sinalizadores do pacote instalado como com êxito. SuccessReboot. Sinaliza o pacote instalado como êxito e instrui o sistema seja reiniciado. Falha. O pacote de sinalizadores como falha. FailReboot. O pacote de sinalizadores como falhou e instrui o sistema seja reiniciado. |
String |
Opcional. O valor a ser exibido para o usuário em resposta a este código de saída. |
FormatMessageFromSystem |
Opcional. Determina se deve usar a mensagem de erro fornecidos pelo sistema correspondente ao código de saída ou usar o valor fornecido em String. Os valores válidos são true, que significa usar erro fornecido pelo sistema, e false, que significa usar a seqüência de caracteres fornecida pelo String. O padrão é false. Se essa propriedade for false, mas String não estiver definida, o erro fornecido pelo sistema será usado. |
Exemplo
O exemplo de código a seguir define os comandos para instalar o.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>