<Elemen InstallChecks> (bootstrapper)
Elemen ini InstallChecks
mendukung memulai berbagai pengujian terhadap komputer lokal untuk memastikan bahwa semua prasyarat yang sesuai untuk aplikasi telah diinstal.
Sintaks
<InstallChecks>
<AssemblyCheck
Property
Name
PublicKeyToken
Version
Language
ProcessorArchitecture
/>
<RegistryCheck
Property
Key
Value
/>
<ExternalCheck
PackageFile
Property
Arguments
/>
<FileCheck
Property
FileName
SearchPath
SpecialFolder
SearchDepth
/>
<MsiProductCheck
Property
Product
Feature
/>
<RegistryFileCheck
Property
Key
Value
FileName
SearchDepth
/>
</InstallChecks>
AssemblyCheck
Elemen ini adalah elemen turunan opsional dari InstallChecks
. Untuk setiap instans AssemblyCheck
, bootstrapper akan memastikan bahwa rakitan yang diidentifikasi oleh elemen ada di cache perakitan global (GAC). Ini tidak berisi elemen, dan memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Property |
Harus diisi. Nama properti untuk menyimpan hasilnya. Properti ini dapat dirujuk dari pengujian di bawah InstallConditions elemen , yang merupakan turunan dari Command elemen . Untuk informasi selengkapnya, lihat <Elemen> Perintah. |
Name |
Harus diisi. Nama assembly yang sepenuhnya memenuhi syarat untuk diperiksa. |
PublicKeyToken |
Harus diisi. Bentuk singkatan dari kunci publik yang terkait dengan rakitan bernama kuat ini. Semua rakitan yang disimpan di GAC harus memiliki nama, versi, dan kunci publik. |
Version |
Harus diisi. Versi rakitan. Nomor versi memiliki versi utama format<.<>versi> minor.<versi> build.<versi> revisi. |
Language |
Opsional. Bahasa rakitan yang dilokalkan. Defaultnya adalah neutral . |
ProcessorArchitecture |
Opsional. Prosesor komputer yang ditargetkan oleh penginstalan ini. Defaultnya adalah msil . |
ExternalCheck
Elemen ini adalah elemen turunan opsional dari InstallChecks
. Untuk setiap instans ExternalCheck
, bootstrapper akan menjalankan program eksternal bernama dalam proses terpisah, dan menyimpan kode keluarnya di properti yang ditunjukkan oleh Property
. ExternalCheck
berguna untuk menerapkan pemeriksaan dependensi yang kompleks, atau ketika satu-satunya cara untuk memeriksa keberadaan komponen adalah dengan membuat instansnya.
ExternalCheck
tidak berisi elemen, dan memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Property |
Harus diisi. Nama properti untuk menyimpan hasilnya. Properti ini dapat dirujuk dari pengujian di bawah InstallConditions elemen , yang merupakan turunan dari Command elemen . Untuk informasi selengkapnya, lihat <Elemen> Perintah. |
PackageFile |
Harus diisi. Program eksternal yang akan dijalankan. Program harus menjadi bagian dari paket distribusi penyetelan. |
Arguments |
Opsional. Memasok argumen baris perintah ke executable yang dinamai oleh PackageFile . |
FileCheck
Elemen ini adalah elemen turunan opsional dari InstallChecks
. Untuk setiap instans FileCheck
, bootstrapper akan menentukan apakah file bernama ada, dan mengembalikan nomor versi file. Jika file tidak memiliki nomor versi, bootstrapper mengatur properti bernama menjadi Property
0. Jika file tidak ada, Property
tidak diatur ke nilai apa pun.
FileCheck
tidak berisi elemen, dan memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Property |
Harus diisi. Nama properti untuk menyimpan hasilnya. Properti ini dapat dirujuk dari pengujian di bawah InstallConditions elemen , yang merupakan turunan dari Command elemen . Untuk informasi selengkapnya, lihat <Elemen> Perintah. |
FileName |
Harus diisi. Nama file yang akan ditemukan. |
SearchPath |
Harus diisi. Disk atau folder untuk mencari file. Ini harus menjadi jalur relatif jika SpecialFolder ditetapkan; jika tidak, itu harus merupakan jalur absolut. |
SpecialFolder |
Opsional. Folder yang memiliki signifikansi khusus baik ke Windows atau ke ClickOnce. Defaultnya adalah menafsirkan SearchPath sebagai jalur absolut. Nilai yang valid mencakup hal-hal berikut:AppDataFolder . Folder data aplikasi untuk aplikasi ClickOnce ini; khusus untuk pengguna saat ini.CommonAppDataFolder . Folder data aplikasi yang digunakan oleh semua pengguna.CommonFilesFolder . Folder File Umum untuk pengguna saat ini.LocalDataAppFolder . Folder data untuk aplikasi non-roaming.ProgramFilesFolder . Folder Program Files standar untuk aplikasi 32-bit.StartUpFolder . Folder yang berisi semua aplikasi yang diluncurkan saat startup sistem.SystemFolder . Folder yang berisi DLL sistem 32-bit.WindowsFolder . Folder yang berisi penginstalan sistem Windows.WindowsVolume . Kandar atau partisi yang berisi penginstalan sistem Windows. |
SearchDepth |
Opsional. Kedalaman untuk mencari sub-folder untuk file bernama. Pencariannya mengutamakan kedalaman. Defaultnya adalah 0, yang membatasi pencarian ke folder tingkat atas yang ditentukan oleh SpecialFolder dan SearchPath. |
MsiProductCheck
Elemen ini adalah elemen turunan opsional dari InstallChecks
. Untuk setiap instans MsiProductCheck
, bootstrapper memeriksa untuk melihat apakah penginstalan Microsoft Windows Installer yang ditentukan telah berjalan hingga selesai. Nilai properti diatur tergantung pada status produk yang diinstal. Nilai positif menunjukkan produk diinstal, 0 atau -1 menunjukkan bahwa produk tidak diinstal. (Silakan lihat fungsi Windows Installer SDK MsiQueryFeatureState untuk informasi selengkapnya.) . Jika Penginstal Windows tidak diinstal pada komputer, Property
tidak diatur.
MsiProductCheck
tidak berisi elemen, dan memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Property |
Harus diisi. Nama properti untuk menyimpan hasilnya. Properti ini dapat dirujuk dari pengujian di bawah InstallConditions elemen , yang merupakan turunan dari Command elemen . Untuk informasi selengkapnya, lihat <Elemen> Perintah. |
Product |
Harus diisi. GUID untuk produk yang diinstal. |
Feature |
Opsional. GUID untuk fitur tertentu dari aplikasi yang diinstal. |
RegistryCheck
Elemen ini adalah elemen turunan opsional dari InstallChecks
. Untuk setiap instans RegistryCheck
, bootstrapper memeriksa untuk melihat apakah kunci registri yang ditentukan ada, atau apakah itu memiliki nilai yang ditunjukkan.
RegistryCheck
tidak berisi elemen, dan memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Property |
Harus diisi. Nama properti untuk menyimpan hasilnya. Properti ini dapat dirujuk dari pengujian di bawah InstallConditions elemen , yang merupakan turunan dari Command elemen . Untuk informasi selengkapnya, lihat <Elemen> Perintah. |
Key |
Harus diisi. Nama kunci registri. |
Value |
Opsional. Nama nilai registri yang akan diambil. Defaultnya adalah mengembalikan teks nilai default. Value harus berupa String atau DWORD. |
RegistryFileCheck
Elemen ini adalah elemen turunan opsional dari InstallChecks
. Untuk setiap instans RegistryFileCheck
, bootstrapper mengambil versi file yang ditentukan, pertama-tama mencoba mengambil jalur ke file dari kunci registri yang ditentukan. Ini sangat berguna jika Anda ingin mencari file dalam direktori yang ditentukan sebagai nilai dalam registri.
RegistryFileCheck
tidak berisi elemen, dan memiliki atribut berikut.
Atribut | Deskripsi |
---|---|
Property |
Harus diisi. Nama properti untuk menyimpan hasilnya. Properti ini dapat dirujuk dari pengujian di bawah InstallConditions elemen , yang merupakan turunan dari Command elemen . Untuk informasi selengkapnya, lihat <Elemen> Perintah. |
Key |
Harus diisi. Nama kunci registri. Nilainya ditafsirkan sebagai jalur ke file, kecuali File atribut diatur. Jika kunci ini tidak ada, Property tidak diatur. |
Value |
Opsional. Nama nilai registri yang akan diambil. Defaultnya adalah mengembalikan teks nilai default. Value harus berupa String. |
FileName |
Opsional. Nama file. Jika ditentukan, nilai yang diperoleh dari kunci registri diasumsikan sebagai jalur direktori, dan nama ini ditambahkan ke dalamnya. Jika tidak ditentukan, nilai yang dikembalikan dari registri diasumsikan sebagai jalur lengkap ke file. |
SearchDepth |
Opsional. Kedalaman untuk mencari sub-folder untuk file bernama. Pencariannya mengutamakan kedalaman. Defaultnya adalah 0, yang membatasi pencarian ke folder tingkat atas yang ditentukan oleh nilai kunci registri. |
Keterangan
Sementara elemen di bawahnya InstallChecks
menentukan pengujian yang akan dijalankan, elemen tersebut tidak mengeksekusinya. Untuk menjalankan pengujian, Anda harus membuat Command
elemen di Commands
bawah elemen .
Contoh
Contoh kode berikut menunjukkan InstallChecks
elemen seperti yang digunakan dalam file produk untuk .NET Framework.
<InstallChecks>
<ExternalCheck Property="DotNetInstalled" PackageFile="dotnetchk.exe" />
<RegistryCheck Property="IEVersion" Key="HKLM\Software\Microsoft\Internet Explorer" Value="Version" />
</InstallChecks>
InstallConditions
Ketika InstallChecks
dievaluasi, mereka menghasilkan properti. Properti kemudian digunakan oleh InstallConditions
untuk menentukan apakah paket harus menginstal, melewati, atau gagal. Tabel berikut mencantumkan InstallConditions
:
Kondisi | Deskripsi |
---|---|
FailIf |
Jika ada FailIf kondisi yang dievaluasi ke true, paket akan gagal. Sisa kondisi tidak akan dievaluasi. |
BypassIf |
Jika ada BypassIf kondisi yang dievaluasi ke true, paket akan dilewati. Sisa kondisi tidak akan dievaluasi. |
Properti yang telah ditentukan sebelumnya
Tabel berikut mencantumkan BypassIf
elemen dan FailIf
:
Properti | Catatan | Nilai yang Mungkin |
---|---|---|
Version9X |
Nomor versi sistem operasi Windows 9X. | 4.10 = Windows 98 |
VersionNT |
Nomor versi sistem operasi Windows. | Major.Minor.ServicePack |
VersionNT64 |
Nomor versi sistem operasi Windows 64-bit. | Major.Minor.ServicePack. |
VersionMsi |
Nomor versi layanan Penginstal Windows. | 2.0 = Windows Installer 2.0 |
AdminUser |
Menentukan apakah pengguna memiliki hak istimewa administrator pada sistem operasi berbasis Windows NT. | 0 = tidak ada hak istimewa administrator 1 = hak istimewa administrator |
Misalnya, untuk memblokir penginstalan di komputer yang menjalankan Windows 8, gunakan kode seperti berikut:
<!-- Block install on Windows 8 -->
<FailIf Property="VersionNT64" Compare="VersionLessThan" Value="6.2" String="InvalidPlatform"/>
Untuk melewati pemeriksaan penginstalan yang berjalan jika kondisi FailIf atau BypassIf terpenuhi, gunakan atribut BeforeInstallChecks. Contoh:
<!-- Block install and do not evaluate install checks if user does not have admin privileges -->
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired" BeforeInstallChecks="true"/>
Catatan
Atribut BeforeInstallChecks
didukung dimulai dengan rilis Visual Studio 2019 Update 9.
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