<Elemento Commands> (programma di avvio automatico)
L'elemento Commands
implementa i test descritti dagli elementi sottostanti l'elemento InstallChecks
e dichiara quale pacchetto deve essere installato dal programma di avvio automatico ClickOnce in caso di esito negativo del test.
Sintassi
<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>
Elementi e attributi
L'elemento Commands
è obbligatorio. L'elemento presenta l'attributo seguente:
Attributo | Descrizione |
---|---|
Reboot |
Facoltativo. Determina se il sistema deve essere riavviato se uno dei pacchetti restituisce un codice di uscita di riavvio. L'elenco seguente mostra i valori validi:Defer . Il riavvio viene posticipato fino a un certo periodo di tempo futuro.Immediate . Determina un riavvio immediato se uno dei pacchetti ha restituito un codice di uscita di riavvio.None . Fa sì che le richieste di riavvio vengano ignorate.Il valore predefinito è Immediate . |
Comando
L'elemento Command
è un elemento figlio dell'elemento Commands
. Un Commands
elemento può avere uno o più Command
elementi. L'elemento presenta gli attributi seguenti.
Attributo | Descrizione |
---|---|
PackageFile |
Obbligatorio. Il nome del pacchetto da installare deve includere una o più delle condizioni specificate da restituisce InstallConditions false. Il pacchetto deve essere definito nello stesso file usando un PackageFile elemento . |
Arguments |
Facoltativo. Set di argomenti della riga di comando da passare al file del pacchetto. |
EstimatedInstallSeconds |
Facoltativo. Il tempo stimato, in secondi, richiederà per installare il pacchetto. Questo valore determina le dimensioni dell'indicatore di stato visualizzato dal programma di avvio automatico all'utente. Il valore predefinito è 0, nel qual caso non viene specificata alcuna stima temporale. |
EstimatedDiskBytes |
Facoltativo. Quantità stimata di spazio su disco, in byte, che il pacchetto occupa al termine dell'installazione. Questo valore viene usato nei requisiti di spazio su disco rigido visualizzati dal programma di avvio automatico all'utente. Il valore predefinito è 0, nel qual caso il programma di avvio automatico non visualizza alcun requisito di spazio su disco rigido. |
EstimatedTempBytes |
Facoltativo. Quantità stimata di spazio su disco temporaneo, in byte, necessaria per il pacchetto. |
Log |
Facoltativo. Percorso del file di log generato dal pacchetto, relativo alla directory radice del pacchetto. |
InstallConditions
L'elemento InstallConditions
è un elemento figlio dell'elemento Command
. Ogni Command
elemento può avere al massimo un InstallConditions
elemento. Se non esiste alcun InstallConditions
elemento, il pacchetto specificato da Condition
verrà sempre eseguito.
BypassIf
L'elemento BypassIf
è un elemento figlio dell'elemento InstallConditions
e descrive una condizione positiva in cui il comando non deve essere eseguito. Ogni InstallConditions
elemento può avere zero o più BypassIf
elementi.
BypassIf
ha gli attributi seguenti.
Attributo | Descrizione |
---|---|
Property |
Obbligatorio. Nome della proprietà da testare. La proprietà deve essere stata definita in precedenza da un elemento figlio dell'elemento InstallChecks . Per altre informazioni, vedere <Elemento InstallChecks>. |
Compare |
Obbligatorio. Tipo di confronto da eseguire. L'elenco seguente mostra i valori validi:ValueEqualTo , ValueNotEqualTo , ValueGreaterThanOrEqualTo , ValueLessThan , ValueLessThanOrEqualTo , VersionEqualTo , VersionGreaterThanOrEqualTo VersionNotEqualTo , ValueExists VersionLessThanOrEqualTo VersionLessThan VersionGreaterThan ValueGreaterThan ValueNotExists |
Value |
Obbligatorio. Valore da confrontare con la proprietà . |
Schedule |
Facoltativo. Nome di un Schedule tag che definisce quando deve essere valutata questa regola. |
FailIf
L'elemento FailIf
è un elemento figlio dell'elemento InstallConditions
e descrive una condizione positiva in cui l'installazione deve essere interrotta. Ogni InstallConditions
elemento può avere zero o più FailIf
elementi.
FailIf
ha gli attributi seguenti.
Attributo | Descrizione |
---|---|
Property |
Obbligatorio. Nome della proprietà da testare. La proprietà deve essere stata definita in precedenza da un elemento figlio dell'elemento InstallChecks . Per altre informazioni, vedere <Elemento InstallChecks>. |
Compare |
Obbligatorio. Tipo di confronto da eseguire. L'elenco seguente mostra i valori validi:ValueEqualTo , ValueNotEqualTo , ValueGreaterThanOrEqualTo , ValueLessThan , ValueLessThanOrEqualTo , VersionEqualTo , VersionGreaterThanOrEqualTo VersionNotEqualTo , ValueExists VersionLessThanOrEqualTo VersionLessThan VersionGreaterThan ValueGreaterThan ValueNotExists |
Value |
Obbligatorio. Valore da confrontare con la proprietà . |
String |
Facoltativo. Testo da visualizzare all'utente in caso di errore. |
Schedule |
Facoltativo. Nome di un Schedule tag che definisce quando deve essere valutata questa regola. |
ExitCodes
L'elemento ExitCodes
è un elemento figlio dell'elemento Command
. L'elemento ExitCodes
contiene uno o più ExitCode
elementi, che determinano le operazioni che l'installazione deve eseguire in risposta a un codice di uscita da un pacchetto. Sotto un elemento può essere presente un Command
elemento facoltativoExitCode
. L'elemento ExitCodes
non ha attributi.
ExitCode
L'elemento ExitCode
è un elemento figlio dell'elemento ExitCodes
. L'elemento ExitCode
determina le operazioni che l'installazione deve eseguire in risposta a un codice di uscita da un pacchetto. ExitCode
non contiene elementi figlio e ha gli attributi seguenti.
Attributo | Descrizione |
---|---|
Value |
Obbligatorio. Valore del codice di uscita a cui si applica questo ExitCode elemento. |
Result |
Obbligatorio. Come l'installazione deve reagire a questo codice di uscita. L'elenco seguente mostra i valori validi:Success . Contrassegna il pacchetto come installato correttamente.SuccessReboot . Contrassegna il pacchetto come installato correttamente e indica al sistema di riavviare.Fail . Contrassegna il pacchetto come non riuscito.FailReboot . Contrassegna il pacchetto come non riuscito e indica al sistema di riavviare. |
String |
Facoltativo. Valore da visualizzare all'utente in risposta a questo codice di uscita. |
FormatMessageFromSystem |
Facoltativo. Determina se utilizzare il messaggio di errore fornito dal sistema corrispondente al codice di uscita o usare il valore fornito in String . I valori validi sono true , il che significa usare l'errore fornito dal sistema e false , il che significa usare la stringa fornita da String . Il valore predefinito è false . Se questa proprietà è false , ma String non è impostata, verrà utilizzato l'errore fornito dal sistema. |
Esempio
L'esempio di codice seguente definisce i comandi per l'installazione di .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>