Elemen <Commands> (bootstrapper)
Elemen Commands
mengimplementasikan pengujian yang dijelaskan oleh elemen di bawah elemen InstallChecks
, dan menyatakan paket yang harus diinstal oleh bootstrapper ClickOnce jika pengujian gagal.
Sintaks
<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>
Elemen dan atribut
Commands
Elemen diperlukan. Elemen memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Reboot |
Opsional. Menentukan jika sistem harus dimulai ulang jika salah satu paket mengembalikan kode keluar hidupkan ulang. Daftar berikut ini memperlihatkan nilai yang valid:Defer . Hidupkan ulang ditangguhkan sampai beberapa waktu mendatang.Immediate . Menyebabkan mulai ulang segera jika salah satu paket mengembalikan kode keluar hidupkan ulang.None . Menyebabkan permintaan hidupkan ulang diabaikan.Default adalah Immediate . |
Perintah
Elemen Command
adalah elemen turunan dari elemen Commands
. Elemen Commands
dapat memiliki satu elemen Command
atau lebih. Elemen ini memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
PackageFile |
Harus diisi. Nama paket yang akan diinstal harus satu atau beberapa kondisi yang ditentukan oleh InstallConditions mengembalikan false. Paket harus didefinisikan dalam file yang sama dengan menggunakan elemen PackageFile . |
Arguments |
Opsional. Sekumpulan argumen baris perintah untuk diteruskan ke file paket. |
EstimatedInstallSeconds |
Opsional. Perkiraan waktu, dalam detik, akan diperlukan untuk menginstal paket. Nilai ini menentukan ukuran bilah kemajuan yang ditampilkan bootstrapper kepada pengguna. Defaultnya adalah 0, dalam hal ini tidak ada perkiraan waktu yang ditentukan. |
EstimatedDiskBytes |
Opsional. Perkiraan jumlah ruang disk, dalam byte, yang akan ditempati paket setelah penginstalan selesai. Nilai ini digunakan dalam persyaratan ruang hard disk yang ditampilkan bootstrapper kepada pengguna. Defaultnya adalah 0, dalam hal ini bootstrapper tidak menampilkan persyaratan ruang hard disk apa pun. |
EstimatedTempBytes |
Opsional. Perkiraan jumlah ruang disk sementara, dalam byte, yang akan diperlukan paket. |
Log |
Opsional. Jalur ke file log yang dihasilkan paket, relatif terhadap direktori akar paket. |
InstallConditions
Elemen InstallConditions
adalah turunan dari elemen Command
. Setiap elemen Command
dapat memiliki paling banyak satu elemen InstallConditions
. Jika tidak ada elemen InstallConditions
, paket yang ditentukan oleh Condition
akan selalu berjalan.
BypassIf
Elemen BypassIf
adalah turunan dari elemen InstallConditions
, dan menjelaskan kondisi positif saat perintah tidak boleh dijalankan. Setiap elemen InstallConditions
dapat memiliki nol elemen BypassIf
atau lebih.
BypassIf
memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Property |
Harus diisi. Nama properti yang akan diuji. Properti sebelumnya harus didefinisikan oleh turunan dari elemen InstallChecks . Untuk informasi selengkapnya, lihat <InstallChecks> Elemen. |
Compare |
Harus diisi. Jenis perbandingan yang harus dilakukan. Daftar berikut ini memperlihatkan nilai yang valid:ValueEqualTo , , ValueGreaterThan ValueNotEqualTo , ValueGreaterThanOrEqualTo , ValueLessThan , ValueLessThanOrEqualTo , VersionEqualTo , VersionNotEqualTo , VersionGreaterThan , VersionGreaterThanOrEqualTo , VersionLessThan , VersionLessThanOrEqualTo , , , ValueExists ValueNotExists |
Value |
Harus diisi. Nilai untuk dibandingkan dengan properti. |
Schedule |
Opsional. Nama tag Schedule yang menentukan kapan aturan ini harus dievaluasi. |
FailIf
Elemen FailIf
adalah turunan dari elemen InstallConditions
, dan menjelaskan kondisi positif saat penginstalan harus berhenti. Setiap elemen InstallConditions
dapat memiliki nol elemen FailIf
atau lebih.
FailIf
memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Property |
Harus diisi. Nama properti yang akan diuji. Properti sebelumnya harus didefinisikan oleh turunan dari elemen InstallChecks . Untuk informasi selengkapnya, lihat <InstallChecks> Elemen. |
Compare |
Harus diisi. Jenis perbandingan yang harus dilakukan. Daftar berikut ini memperlihatkan nilai yang valid:ValueEqualTo , , ValueGreaterThan ValueNotEqualTo , ValueGreaterThanOrEqualTo , ValueLessThan , ValueLessThanOrEqualTo , VersionEqualTo , VersionNotEqualTo , VersionGreaterThan , VersionGreaterThanOrEqualTo , VersionLessThan , VersionLessThanOrEqualTo , , , ValueExists ValueNotExists |
Value |
Harus diisi. Nilai untuk dibandingkan dengan properti. |
String |
Opsional. Teks yang akan ditampilkan kepada pengguna setelah kegagalan. |
Schedule |
Opsional. Nama tag Schedule yang menentukan kapan aturan ini harus dievaluasi. |
ExitCodes
Elemen ExitCodes
adalah turunan dari elemen Command
. Elemen ExitCodes
berisi satu atau beberapa elemen ExitCode
, yang menentukan apa yang harus dilakukan penginstalan sebagai respons terhadap kode keluar dari paket. Mungkin ada satu elemen ExitCode
opsional di bawah elemen Command
. ExitCodes
tidak memiliki atribut.
ExitCode
Elemen ExitCode
adalah turunan dari elemen ExitCodes
. Elemen ExitCode
menentukan apa yang harus dilakukan penginstalan sebagai respons terhadap kode keluar dari paket. ExitCode
tidak berisi elemen turunan, dan memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Value |
Harus diisi. Nilai kode keluar tempat elemen ExitCode berlaku. |
Result |
Harus diisi. Cara penginstalan harus bereaksi terhadap kode keluar ini. Daftar berikut ini memperlihatkan nilai yang valid:Success . Menandai paket sebagai berhasil diinstal.SuccessReboot . Menandai paket sebagai berhasil diinstal, dan menginstruksikan sistem untuk memulai ulang.Fail . Menandai paket sebagai gagal.FailReboot . Menandai paket sebagai gagal, dan menginstruksikan sistem untuk memulai ulang. |
String |
Opsional. Nilai yang akan ditampilkan kepada pengguna sebagai respons terhadap kode keluar ini. |
FormatMessageFromSystem |
Opsional. Menentukan jika akan menggunakan pesan kesalahan yang disediakan sistem yang sesuai dengan kode keluar, atau menggunakan nilai yang disediakan dalam String . Nilai yang valid adalah true , yang berarti menggunakan kesalahan yang disediakan sistem, dan false , yang berarti menggunakan string yang disediakan oleh String . Default adalah false . Jika properti ini adalah false , tetapi String tidak diatur, kesalahan yang disediakan sistem akan digunakan. |
Contoh
Contoh kode berikut menentukan perintah untuk menginstal .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>
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk