Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Element Commands implementuje testy opisane przez elementy pod InstallChecks elementem i deklaruje pakiet, który program rozruchowy ClickOnce powinien zainstalować, jeśli test zakończy się niepowodzeniem.
Składnia
<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>
Elementy i atrybuty
Element Commands jest wymagany. Element ma następujący atrybut.
| Atrybut | opis |
|---|---|
Reboot |
Opcjonalny. Określa, czy system powinien zostać uruchomiony ponownie, jeśli którykolwiek z pakietów zwróci kod zakończenia ponownego uruchomienia. Poniższa lista zawiera prawidłowe wartości:Defer. Ponowne uruchomienie zostanie odroczone do czasu przyszłego.Immediate. Powoduje natychmiastowe ponowne uruchomienie, jeśli jeden z pakietów zwrócił kod zakończenia ponownego uruchomienia.None. Powoduje ignorowanie żądań ponownego uruchomienia.Wartość domyślna to Immediate. |
Polecenie
Element Command jest elementem podrzędnym Commands elementu . Element Commands może zawierać co najmniej jeden Command element. Element ma następujące atrybuty.
| Atrybut | opis |
|---|---|
PackageFile |
Wymagane. Nazwa pakietu do zainstalowania powinna zawierać co najmniej jeden warunek określony przez InstallConditions wartość false. Pakiet musi być zdefiniowany w tym samym pliku przy użyciu PackageFile elementu. |
Arguments |
Opcjonalny. Zestaw argumentów wiersza polecenia do przekazania do pliku pakietu. |
EstimatedInstallSeconds |
Opcjonalny. Szacowany czas w sekundach zajmie zainstalowanie pakietu. Ta wartość określa rozmiar paska postępu wyświetlanego użytkownikowi przez program inicjjący. Wartość domyślna to 0, w tym przypadku nie określono oszacowania czasu. |
EstimatedDiskBytes |
Opcjonalny. Szacowana ilość miejsca na dysku (w bajtach) zajmowanego przez pakiet po zakończeniu instalacji. Ta wartość jest używana w wymaganiach dotyczących miejsca na dysku twardym wyświetlanych użytkownikowi przez program inicjujący. Wartość domyślna to 0, w tym przypadku program uruchamiający nie wyświetla żadnych wymagań dotyczących miejsca na dysku twardym. |
EstimatedTempBytes |
Opcjonalny. Szacowana ilość miejsca na dysku tymczasowego (w bajtach) wymagana przez pakiet. |
Log |
Opcjonalny. Ścieżka do pliku dziennika generowanego przez pakiet względem katalogu głównego pakietu. |
Installconditions
Element InstallConditions jest elementem podrzędnym Command elementu. Każdy Command element może mieć co najwyżej jeden InstallConditions element. Jeśli żaden element nie InstallConditions istnieje, pakiet określony przez Condition będzie zawsze uruchamiany.
BypassIf
Element BypassIf jest elementem podrzędnym InstallConditions elementu i opisuje warunek dodatni, w którym polecenie nie powinno być wykonywane. Każdy InstallConditions element może mieć zero lub więcej BypassIf elementów.
BypassIf ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Property |
Wymagane. Nazwa właściwości do przetestowania. Właściwość musi być wcześniej zdefiniowana przez element podrzędny InstallChecks elementu. Aby uzyskać więcej informacji, zobacz <InstallChecks> , element. |
Compare |
Wymagany. Typ porównania do wykonania. Poniższa lista zawiera prawidłowe wartości:ValueEqualTo, ValueNotEqualTo, , , ValueLessThanValueLessThanOrEqualToVersionLessThanOrEqualToValueGreaterThanOrEqualToVersionNotEqualToValueExistsVersionEqualToVersionGreaterThanVersionGreaterThanOrEqualToVersionLessThanValueGreaterThanValueNotExists |
Value |
Wymagany. Wartość do porównania z właściwością. |
Schedule |
Opcjonalny. Nazwa tagu definiującego Schedule , kiedy ta reguła ma zostać obliczona. |
FailIf
Element FailIf jest elementem podrzędnym InstallConditions elementu i opisuje pozytywny stan, w którym instalacja powinna zostać zatrzymana. Każdy InstallConditions element może mieć zero lub więcej FailIf elementów.
FailIf ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Property |
Wymagane. Nazwa właściwości do przetestowania. Właściwość musi być wcześniej zdefiniowana przez element podrzędny InstallChecks elementu. Aby uzyskać więcej informacji, zobacz <InstallChecks> , element. |
Compare |
Wymagany. Typ porównania do wykonania. Poniższa lista zawiera prawidłowe wartości:ValueEqualTo, ValueNotEqualTo, , , ValueLessThanValueLessThanOrEqualToVersionLessThanOrEqualToValueGreaterThanOrEqualToVersionNotEqualToValueExistsVersionEqualToVersionGreaterThanVersionGreaterThanOrEqualToVersionLessThanValueGreaterThanValueNotExists |
Value |
Wymagany. Wartość do porównania z właściwością. |
String |
Opcjonalny. Tekst wyświetlany użytkownikowi po niepowodzeniu. |
Schedule |
Opcjonalny. Nazwa tagu definiującego Schedule , kiedy ta reguła ma zostać obliczona. |
Kody zakończenia
Element ExitCodes jest elementem podrzędnym Command elementu. Element ExitCodes zawiera co najmniej jeden ExitCode element, który określa, co instalacja powinna zrobić w odpowiedzi na kod zakończenia z pakietu. Pod elementem Command może znajdować się jeden opcjonalny ExitCode element. ExitCodes nie ma atrybutów.
Exitcode
Element ExitCode jest elementem podrzędnym ExitCodes elementu. Element ExitCode określa, co powinna zrobić instalacja w odpowiedzi na kod zakończenia z pakietu. ExitCode nie zawiera żadnych elementów podrzędnych i ma następujące atrybuty.
| Atrybut | opis |
|---|---|
Value |
Wymagane. Wartość kodu zakończenia, do której ma zastosowanie ten ExitCode element. |
Result |
Wymagany. Jak instalacja powinna reagować na ten kod zakończenia. Poniższa lista zawiera prawidłowe wartości:Success. Flaguje pakiet jako pomyślnie zainstalowany.SuccessReboot. Flaguje pakiet jako pomyślnie zainstalowany i instruuje system do ponownego uruchomienia.Fail. Flaguje pakiet jako niepowodzenie.FailReboot. Flaguje pakiet jako niepowodzenie i nakazuje systemowi ponowne uruchomienie. |
String |
Opcjonalny. Wartość wyświetlana użytkownikowi w odpowiedzi na ten kod zakończenia. |
FormatMessageFromSystem |
Opcjonalny. Określa, czy należy użyć komunikatu o błędzie dostarczonego przez system odpowiadającego kodowi zakończenia, czy użyć wartości podanej w pliku String. Prawidłowe wartości to true, co oznacza użycie błędu dostarczonego przez system i false, co oznacza użycie ciągu dostarczonego przez String. Wartość domyślna to false. Jeśli ta właściwość to false, ale String nie jest ustawiona, zostanie użyty błąd podany przez system. |
Przykład
Poniższy przykład kodu definiuje polecenia do instalowania programu .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>