<Komut> öğesi (önyükleyici)

Commands öğesi, öğesinin altındaki InstallChecks öğeler tarafından açıklanan testleri uygular ve test başarısız olursa ClickOnce önyükleyicisinin hangi paketi yüklemesi gerektiğini bildirir.

Sözdizimi

<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>

Öğeler ve öznitelikler

Commands öğesi gereklidir. öğesi aşağıdaki özniteliğe sahiptir.

Öznitelik Açıklama
Reboot isteğe bağlı. Paketlerden herhangi biri yeniden başlatma çıkış kodu döndürürse sistemin yeniden başlatılıp başlatılmayacağını belirler. Aşağıdaki listede geçerli değerler gösterilmektedir:

Defer. Yeniden başlatma, gelecekteki bir zamana kadar ertelenmiş olur.

Immediate. Paketlerden biri yeniden başlatma çıkış kodu döndürdüyse, hemen yeniden başlatmaya neden olur.

None. Tüm yeniden başlatma isteklerinin yoksayılması neden olur.

Varsayılan değer: Immediate.

Command

Command öğesi, öğesinin Commands alt öğesidir. Bir Commands öğenin bir veya daha fazla Command öğesi olabilir. öğesi aşağıdaki özniteliklere sahiptir.

Öznitelik Açıklama
PackageFile Gerekli. Yüklenecek paketin adı, false döndürerek InstallConditions belirtilen koşullardan biri veya daha fazlası olmalıdır. Paket, bir PackageFile öğe kullanılarak aynı dosyada tanımlanmalıdır.
Arguments isteğe bağlı. Paket dosyasına geçirmek için bir dizi komut satırı bağımsız değişkeni.
EstimatedInstallSeconds isteğe bağlı. Tahmini süre (saniye cinsinden) paketin yüklenmesi gerekir. Bu değer, önyükleyicinin kullanıcıya görüntülediği ilerleme çubuğunun boyutunu belirler. Varsayılan değer 0'dır ve bu durumda zaman tahmini belirtilmez.
EstimatedDiskBytes isteğe bağlı. Yükleme tamamlandıktan sonra paketin kaplanacağı tahmini disk alanı (bayt cinsinden). Bu değer, önyükleyicinin kullanıcıya gösterdiği sabit disk alanı gereksinimlerinde kullanılır. Varsayılan değer 0'dır ve bu durumda önyükleyici herhangi bir sabit disk alanı gereksinimi görüntülemez.
EstimatedTempBytes isteğe bağlı. Paketin gerektireceği, bayt cinsinden tahmini geçici disk alanı miktarı.
Log isteğe bağlı. Paketin kök dizinine göre, paketin oluşturduğu günlük dosyasının yolu.

Installconditions

InstallConditions öğesi, öğesinin Command alt öğesidir. Her Command öğenin en fazla bir InstallConditions öğesi olabilir. Öğe yoksa InstallConditions , tarafından Condition belirtilen paket her zaman çalışır.

BypassIf

BypassIf öğesi öğesinin InstallConditions alt öğesidir ve komutun yürütülmemesi gereken olumlu bir koşulu açıklar. Her InstallConditions öğenin sıfır veya daha fazla BypassIf öğesi olabilir.

BypassIf aşağıdaki özniteliklere sahiptir.

Öznitelik Açıklama
Property Gerekli. Test için özelliğin adı. özelliği daha önce öğesinin bir alt öğesi InstallChecks tarafından tanımlanmış olmalıdır. Daha fazla bilgi için bkz <. InstallChecks> Öğesi.
Compare Gerekli. Gerçekleştirilecek karşılaştırma türü. Aşağıdaki listede geçerli değerler gösterilmektedir:

ValueEqualTo, ValueNotEqualTo, ValueGreaterThan, , ValueGreaterThanOrEqualTo, ValueLessThan, ValueLessThanOrEqualTo, , VersionEqualTo, VersionNotEqualTo, VersionGreaterThanVersionGreaterThanOrEqualTo, VersionLessThanOrEqualToVersionLessThan, ValueExists,ValueNotExists
Value Gerekli. Özelliğiyle karşılaştıracak değer.
Schedule isteğe bağlı. Bu kuralın ne zaman değerlendirilmesi gerektiğini tanımlayan etiketin Schedule adı.

FailIf

FailIf öğesi öğenin alt öğesidir ve yüklemenin InstallConditions durdurulması gereken pozitif bir koşulu açıklar. Her InstallConditions öğenin sıfır veya daha fazla FailIf öğesi olabilir.

FailIf aşağıdaki özniteliklere sahiptir.

Öznitelik Açıklama
Property Gerekli. Test için özelliğin adı. özelliği daha önce öğesinin bir alt öğesi InstallChecks tarafından tanımlanmış olmalıdır. Daha fazla bilgi için bkz <. InstallChecks> Öğesi.
Compare Gerekli. Gerçekleştirilecek karşılaştırma türü. Aşağıdaki listede geçerli değerler gösterilmektedir:

ValueEqualTo, ValueNotEqualTo, ValueGreaterThan, , ValueGreaterThanOrEqualTo, ValueLessThan, ValueLessThanOrEqualTo, , VersionEqualTo, VersionNotEqualTo, VersionGreaterThanVersionGreaterThanOrEqualTo, VersionLessThanOrEqualToVersionLessThan, ValueExists,ValueNotExists
Value Gerekli. Özelliğiyle karşılaştıracak değer.
String isteğe bağlı. Hata durumunda kullanıcıya görüntülenecek metin.
Schedule isteğe bağlı. Bu kuralın ne zaman değerlendirilmesi gerektiğini tanımlayan etiketin Schedule adı.

ExitCodes

ExitCodes öğesi, öğesinin Command alt öğesidir. ExitCodes öğesi, yüklemenin bir paketten çıkış koduna yanıt olarak ne yapması gerektiğini belirleyen bir veya daha fazla ExitCode öğe içerir. Bir öğenin altında isteğe bağlı ExitCode bir Command öğe olabilir. ExitCodes özniteliği yoktur.

Exitcode

ExitCode öğesi, öğesinin ExitCodes alt öğesidir. öğesi, ExitCode yüklemenin bir paketten çıkış koduna yanıt olarak ne yapması gerektiğini belirler. ExitCode alt öğe içermez ve aşağıdaki özniteliklere sahiptir.

Öznitelik Açıklama
Value Gerekli. Bu ExitCode öğenin uygulandığı çıkış kodu değeri.
Result Gerekli. Yüklemenin bu çıkış koduna nasıl tepki vermesi gerektiği. Aşağıdaki listede geçerli değerler gösterilmektedir:

Success. Pakete başarıyla yüklenmiş olarak bayrak ekler.

SuccessReboot. Pakete başarıyla yüklenmiş olarak bayrak ekler ve sisteme yeniden başlatılmasını belirtir.

Fail. Pakete başarısız olarak bayrak ekler.

FailReboot. Pakete başarısız olarak bayrak ekler ve sisteme yeniden başlatılmasını belirtir.
String isteğe bağlı. Bu çıkış koduna yanıt olarak kullanıcıya görüntülenecek değer.
FormatMessageFromSystem isteğe bağlı. Çıkış koduna karşılık gelen sistem tarafından sağlanan hata iletisinin mi yoksa içinde Stringsağlanan değerin mi kullanılacağını belirler. Geçerli değerler, sistem tarafından sağlanan hatayı kullanmak anlamına gelen ve falsetarafından Stringsağlanan dizeyi kullanmak anlamına gelen değerleridirtrue. Varsayılan değer: false. Bu özellik ise falseancak String ayarlanmadıysa, sistem tarafından sağlanan hata kullanılır.

Örnek

Aşağıdaki kod örneği.NET Framework 2.0'ı yüklemeye yönelik komutları tanımlar.

<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>

Ayrıca bkz.