<Commands>, élément (programme d’amorçage)
L’élément Commands
implémente les tests décrits par les éléments 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.
Syntax
<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é.Immediate . Provoque un redémarrage immédiat si l’un des packages a retourné un code de sortie de redémarrage.None . Toutes les requêtes de redémarrage seront ignorées.Par défaut, il s’agit de Immediate . |
Commande
L'élément Command
est un élément enfant de l'élément Commands
. Un élément Commands
peut avoir un ou plusieurs éléments Command
. L’élément a les attributs suivants.
Attribut | Description |
---|---|
PackageFile |
Obligatoire. Le nom du package à installer si une ou plusieurs conditions spécifiées par InstallConditions retournent false. Le package doit être défini dans le même fichier avec un élément PackageFile . |
Arguments |
facultatif. Ensemble d’arguments de ligne de commande à transférer dans le fichier de package. |
EstimatedInstallSeconds |
facultatif. Durée estimée de l’installation du package, en secondes. Cette valeur détermine la taille de la barre de progression présentée à l’utilisateur par le programme d’amorçage. La valeur par défaut est 0 : aucune estimation de durée n’est spécifiée. |
EstimatedDiskBytes |
facultatif. Quantité estimée d’espace disque, en octets, que le package occupera après l’installation. Cette valeur est indiquée à l’utilisateur comme espace de disque dur requis par le programme d’amorçage. La valeur par défaut est 0 : le programme d’amorçage n’indique pas d’espace de disque dur requis. |
EstimatedTempBytes |
facultatif. Quantité estimée d’espace disque temporaire, en octets, dont le package aura besoin. |
Log |
facultatif. Chemin du fichier journal généré par le package (relatif par rapport au répertoire racine du package). |
InstallConditions
L’élément InstallConditions
est un enfant de l’élément Command
. Chaque élément Command
peut avoir au plus un élément InstallConditions
. Si aucun élément InstallConditions
n’existe, le package spécifié par Condition
s’exécute toujours.
BypassIf
L’élément BypassIf
est un enfant de l’élément InstallConditions
et décrit une condition positive dans laquelle la commande ne doit pas être exécutée. Chaque élément InstallConditions
peut avoir 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. |
Compare |
Obligatoire. Type de comparaison à effectuer. 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 avec la propriété. |
Schedule |
facultatif. Nom d’une étiquette Schedule , qui définit quand cette règle doit être évaluée. |
FailIf
L’élément FailIf
est un enfant de l’élément InstallConditions
et décrit une condition positive dans laquelle l’installation doit être arrêtée. Chaque élément InstallConditions
peut avoir 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. |
Compare |
Obligatoire. Type de comparaison à effectuer. 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 avec la propriété. |
String |
facultatif. Texte à présenter à l’utilisateur en cas d’échec. |
Schedule |
facultatif. Nom d’une étiquette Schedule , qui définit quand cette règle doit être évaluée. |
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 le comportement de l’installation en réponse à un code de sortie d’un package. Il peut y avoir un élément ExitCode
facultatif sous un élément Command
. ExitCodes
n’a pas d’attributs.
ExitCode
L’élément ExitCode
est un enfant de l’élément ExitCodes
. L’élément ExitCode
détermine le comportement de l’installation en réponse à un code de sortie d’un package. ExitCode
ne contient aucun élément enfant et possède les attributs suivants.
Attribut | Description |
---|---|
Value |
Obligatoire. Valeur de code de sortie à laquelle s’applique cet élément ExitCode . |
Result |
Obligatoire. Comportement de l’installation en présence de ce code de sortie. La liste suivante affiche les valeurs valides :Success . Indique que le package a été correctement installé.SuccessReboot . Indique que le package a été correctement installé et indique au système de redémarrer.Fail . Indique que le package a échoué.FailReboot . Indique que le package a échoué et indique au système de redémarrer. |
String |
facultatif. Valeur à présenter à 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 (utiliser l’erreur fournie par le système) et false (utiliser la chaîne fournie par String ). Par défaut, il s’agit de false . Si cette propriété est false , mais que String n’est pas défini, l’erreur fournie par le système est utilisée. |
Exemple
L’exemple de code suivant définit des commandes pour l’installation du .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>