Mengelola Sumber Penginstalan
Pengguna dan aplikasi dengan hak istimewa administratif dapat mengambil dan memodifikasi informasi daftar jaringan, URL, dan sumber media untuk aplikasi dan patch Penginstal Windows pada sistem.
Windows Installer 2.0: Tidak didukung. Administrator tidak dapat membaca, menyusun ulang, atau mengganti entri dalam daftar sumber dan tidak dapat mengubah atau mengambil properti daftar sumber. Anda dapat mengelola sumber Jaringan, tetapi bukan sumber URL atau Media. Administrator hanya dapat mengelola daftar sumber untuk aplikasi per mesin atau aplikasi yang diinstal sebagai per pengguna untuk pengguna saat ini. Ini mencegah administrator yang menggunakan versi yang lebih lama dari Penginstal Windows versi 3.0 mengelola informasi daftar sumber untuk semua pengguna dalam sistem.
Windows Installer 3.0 dan yang lebih baru: Pengguna dan aplikasi yang memiliki hak istimewa administrator dapat mengambil dan memodifikasi informasi daftar sumber untuk aplikasi dan patch Penginstal Windows yang diinstal pada sistem untuk semua pengguna. Fungsi daftar sumber dapat digunakan untuk mengelola daftar sumber dan properti daftar sumber untuk sumber jaringan, URL, dan media. Alat penginstal dapat menyusun ulang daftar sumber dari proses eksternal.
Pengguna dan aplikasi yang memiliki hak administratif dapat membaca dan memodifikasi jenis informasi daftar sumber berikut:
- Daftar sumber untuk aplikasi dan patch yang diinstal untuk semua pengguna pada sistem.
- Daftar sumber untuk sumber patch yang ada selain sumber aplikasi.
- Daftar sumber untuk URL dan sumber media yang ada selain sumber jaringan.
- Properti daftar sumber seperti MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedType, dan PackageName.
Fungsi daftar sumber dapat membatasi cakupan daftar sumber yang ditemukan dengan menentukan konteks penginstalan dan konteks pengguna. Ada tiga konteks penginstalan yang mungkin: per pengguna (tidak dikelola), per mesin, dan dikelola per pengguna. Konteks pengguna dapat menjadi pengguna tertentu atau semua pengguna di sistem.
Para non-administrator tidak dapat mengubah daftar sumber dari instansi aplikasi atau patch yang ada di bawah konteks per pengguna milik pengguna lain (terkelola atau tidak terkelola). Non-administrator dapat mengubah daftar sumber instans aplikasi atau patch yang diinstal dalam konteks berikut:
- Konteks per pengguna mereka sendiri (tidak terawasi).
- Konteks komputer, tetapi hanya jika kebijakan DisableBrowse, AllowLockdownBrowse, dan AlwaysInstallElevated memungkinkan mereka untuk menelusuri sumber aplikasi atau patch.
- Konteks terkelola per pengguna mereka sendiri, tetapi hanya jika DisableBrowse, AllowLockdownBrowse, dan kebijakan AlwaysInstallElevated memungkinkan mereka menelusuri aplikasi atau sumber patch.
Administrator dapat mengubah daftar sumber apa pun yang dapat diubah oleh non-administrator. Selain itu, administrator dan aplikasi yang memiliki hak administratif dapat memodifikasi daftar sumber aplikasi atau patch yang diinstal dalam konteks berikut:
- Konteks per komputer.
- Konteks per pengguna mereka sendiri (tidak dikelola) atau konteks terkelola per pengguna mereka sendiri.
- Konteks yang dikelola oleh pengguna lain.
Nota
Pengguna dan aplikasi yang memiliki hak istimewa administratif tidak dapat mengubah daftar sumber instans aplikasi atau patch yang diinstal dalam konteks per pengguna (tidak terkelola) dari pengguna lain.
Mengelola Jaringan dan sumber URL untuk Produk dan Patch
Gunakan fungsiMsiSourceListAddSourceEx untuk menambahkan atau menyusun ulang daftar sumber jaringan dan sumber URL untuk patch atau aplikasi dalam konteks tertentu. Gunakan parameter dwContext untuk menentukan konteks penginstalan. Gunakan parameter szUserSid untuk menentukan konteks pengguna.
Gunakan fungsiMsiSourceListAddSourceEx untuk membuat daftar sumber untuk patch yang belum diterapkan ke aplikasi apa pun dalam konteks yang ditentukan. Ini dapat berguna saat mendaftarkan patch untuk mendapatkan hak istimewa yang ditingkatkan. Untuk informasi selengkapnya tentang mendaftarkan hak akses tingkat tinggi untuk patch, lihat Patching Per-User Managed Applications.
Gunakan fungsiMsiSourceListClearSource untuk menghapus sumber yang ada untuk aplikasi atau patch dalam konteks tertentu. Menghapus sumber yang sedang digunakan untuk aplikasi atau patch memaksa alat penginstal untuk mencari di daftar sumber ketika sumber dibutuhkan lagi.
Gunakan fungsiMsiSourceListEnumSources untuk menghitung sumber dalam daftar sumber patch atau aplikasi tertentu.
Mengelola sumber Media untuk Produk dan Patch
Gunakan fungsiMsiSourceListAddMediaDisk untuk menambahkan atau memperbarui informasi disk sumber media aplikasi atau patch terdaftar. Setiap entri diidentifikasi secara unik oleh ID disk. Jika disk sudah ada, disk tersebut akan diperbarui dengan label volume baru dan nilai perintah disk yang baru. Jika disk tidak ada, entri disk baru dibuat dengan nilai baru.
Gunakan fungsiMsiSourceListClearMediaDisk untuk menghapus disk terdaftar yang ada di bawah sumber media untuk aplikasi atau patch dalam konteks tertentu.
Gunakan fungsiMsiSourceListEnumMediaDisks untuk menghitung daftar disk yang terdaftar di bawah sumber media untuk aplikasi atau patch.
Pengambilan dan modifikasi informasi daftar sumber
Gunakan fungsi MsiSourceListGetInfo dan MsiSourceListSetInfo untuk mengambil atau memodifikasi informasi tentang daftar sumber untuk aplikasi atau patch dalam konteks tertentu. Gunakan parameter dwContext untuk menentukan konteks penginstalan. Gunakan parameter szUserSid untuk menentukan konteks pengguna.
Properti daftar sumber seperti MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedType, dan PackageName dapat diakses.
Nota
Properti daftar sumber LastUsedType hanya dapat dibaca. Ini tidak dapat diatur secara langsung menggunakan fungsiMsiSourceListSetInfo.
Menghapus daftar sumber lengkap atau memaksa resolusi sumber
Gunakan fungsiMsiSourceListClearAllEx untuk menghapus semua sumber yang ada dari jenis sumber tertentu untuk aplikasi atau instans patch yang ditentukan. Pendaftaran patch juga dihapus jika patch tidak diinstal oleh aplikasi apa pun dalam konteks yang sama. Gunakan parameter dwContext untuk menentukan konteks penginstalan. Gunakan parameter szUserSid untuk menentukan konteks pengguna.
GunakanMsiSourceListForceResolutionEx untuk menghapus entri sumber terakhir yang digunakan untuk aplikasi atau patch dalam konteks yang ditentukan. Fungsi ini menghapus pendaftaran properti yang disebut LastUsedSource. Fungsi ini tidak memengaruhi daftar sumber terdaftar. Dengan menghapus pendaftaran LastUsedSource, alat penginstal dipaksa untuk melakukan resolusi terhadap sumber yang terdaftar ketika berikutnya memerlukan sumber tersebut.