<Commands>, élément (programme d'amorçage)
L'élément Commands implémente les tests décrits par les éléments figurant sous l'élément InstallChecks et déclare le package que le programme d'amorçage ClickOnce doit installer en cas d'échec du test.
<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>
Éléments et attributs
L'élément Commands est obligatoire. L'élément a l'attribut suivant.
Attribut |
Description |
---|---|
Reboot |
Facultatif. Détermine si le système doit redémarrer si l'un des packages retourne un code de sortie de redémarrage. La liste suivante affiche les valeurs valides : Defer. Le redémarrage est différé à un moment ultérieur. Immediate. Entraîne un redémarrage immédiat si l'un des packages retourne un code de sortie de redémarrage. None. Toutes les demandes de redémarrage sont ignorées. La valeur par défaut est Immediate. |
Commande
L'élément Command est un élément enfant de l'élément Commands. Un élément Commands peut contenir un ou plusieurs éléments Command. L'élément possède les attributs suivants.
Attribut |
Description |
---|---|
PackageFile |
Obligatoire. Nom du package à installer si une ou plusieurs conditions spécifiées par InstallConditions retournent la valeur false. Le package doit être défini dans le même fichier à l'aide d'un élément PackageFile. |
Arguments |
Facultatif. Ensemble d'arguments de ligne de commande à passer dans le fichier de package. |
EstimatedInstallSeconds |
Facultatif. Temps estimé, en secondes, pour installer le package. Cette valeur détermine la taille de la barre de progression affichée à l'utilisateur par le programme d'amorçage. La valeur par défaut est 0 et, dans ce cas, aucune durée estimée n'est spécifiée. |
EstimatedDiskBytes |
Facultatif. Volume estimé d'espace disque, en octets, occupé par le package au terme de l'installation. Cette valeur est utilisée dans les informations d'espace disque requis affichées à l'utilisateur par le programme d'amorçage. La valeur par défaut est 0, auquel cas le programme d'amorçage n'affiche pas d'espace de disque dur requis. |
EstimatedTempBytes |
Facultatif. Volume estimé d'espace disque temporaire, en octets, nécessaire au package. |
Log |
Facultatif. Chemin d'accès au fichier journal généré par le package, relatif au répertoire racine du package. |
InstallConditions
L'élément InstallConditions est un enfant de l'élément Command. Chaque élément Command ne peut avoir qu'un seul élément InstallConditions. En l'absence d'un élément InstallConditions, le package spécifié par Condition s'exécute toujours.
BypassIf
L'élément BypassIf est un enfant de l'élément InstallConditions. Il décrit une condition positive en vertu de laquelle la commande ne doit pas être exécutée. Chaque élément InstallConditions peut contenir zéro, un ou plusieurs éléments BypassIf.
BypassIf possède les attributs suivants.
Attribut |
Description |
---|---|
Property |
Obligatoire. Nom de la propriété à tester. La propriété doit avoir été définie précédemment par un enfant de l'élément InstallChecks. Pour plus d'informations, consultez <InstallChecks>, élément (programme d'amorçage). |
Compare |
Obligatoire. Type de comparaison à exécuter. La liste suivante affiche les valeurs valides : ValueEqualTo, ValueNotEqualTo, ValueGreaterThan, ValueGreaterThanOrEqualTo, ValueLessThan, ValueLessThanOrEqualTo, VersionEqualTo, VersionNotEqualTo, VersionGreaterThan, VersionGreaterThanOrEqualTo, VersionLessThan, VersionLessThanOrEqualTo, ValueExists, ValueNotExists |
Value |
Obligatoire. Valeur à comparer à la propriété. |
Schedule |
Facultatif. Nom d'une balise Schedule qui définit le moment de l'évaluation de cette règle. |
FailIf
L'élément FailIf est un enfant de l'élément InstallConditions et décrit une condition positive sous laquelle l'installation doit s'arrêter. Chaque élément InstallConditions peut contenir zéro, un ou plusieurs éléments FailIf.
FailIf possède les attributs suivants.
Attribut |
Description |
---|---|
Property |
Obligatoire. Nom de la propriété à tester. La propriété doit avoir été définie précédemment par un enfant de l'élément InstallChecks. Pour plus d'informations, consultez <InstallChecks>, élément (programme d'amorçage). |
Compare |
Obligatoire. Type de comparaison à exécuter. La liste suivante affiche les valeurs valides : ValueEqualTo, ValueNotEqualTo, ValueGreaterThan, ValueGreaterThanOrEqualTo, ValueLessThan, ValueLessThanOrEqualTo, VersionEqualTo, VersionNotEqualTo, VersionGreaterThan, VersionGreaterThanOrEqualTo, VersionLessThan, VersionLessThanOrEqualTo, ValueExists, ValueNotExists |
Value |
Obligatoire. Valeur à comparer à la propriété. |
String |
Facultatif. Texte à afficher à l'utilisateur en cas d'échec. |
Schedule |
Facultatif. Nom d'une balise Schedule qui définit le moment de l'évaluation de cette règle. |
ExitCodes
L'élément ExitCodes est un enfant de l'élément Command. L'élément ExitCodes contient un ou plusieurs éléments ExitCode qui déterminent ce que l'installation doit faire en réponse à un code de sortie émanant d'un package. Il peut y avoir un élément ExitCode facultatif sous un élément Command. ExitCodes ne possède aucun attribut.
ExitCode
L'élément ExitCode est un enfant de l'élément ExitCodes. L'élément ExitCode détermine ce que l'installation doit faire en réponse à un code de sortie émanant d'un package. ExitCode ne contient pas d'éléments enfants et a les attributs suivants.
Attribut |
Description |
---|---|
Value |
Obligatoire. Valeur du code de sortie applicable à cet élément ExitCode. |
Result |
Obligatoire. Réaction de l'installation face à ce code de sortie. La liste suivante affiche les valeurs valides : Success. Indique que l'installation du package a réussi. SuccessReboot. Signale que l'installation du package a réussi et indique au système de redémarrer. Fail. Signale l'échec du package. FailReboot. Signale l'échec du package et indique au système de redémarrer. |
String |
Facultatif. Valeur à afficher à l'utilisateur en réponse à ce code de sortie. |
FormatMessageFromSystem |
Facultatif. Détermine s'il faut utiliser le message d'erreur fourni par le système correspondant au code de sortie ou utiliser la valeur fournie dans String. Les valeurs valides sont true pour utiliser l'erreur fournie par le système et false pour utiliser la chaîne fournie par String. La valeur par défaut est false. Si cette propriété est false, mais que String n'est pas défini, l'erreur fournie par le système sera utilisée. |
Exemple
L'exemple de code suivant définit les commandes permettant d'installer le .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>