Mengamankan Sumber Daya

Kemampuan Pemasang Windows untuk mengatur izin akses pada layanan, file, folder yang dibuat, dan entri registri dapat membantu membuat aplikasi penginstalan lebih aman. Penggunaan tabel MsiLockPermissionsEx atau LockPermissions untuk mengamankan sumber daya adalah salah satu Panduan yang direkomendasikan untuk Penulisan Penginstalan Aman. Tabel MsiLockPermissionsEx dapat memungkinkan pembuat paket untuk mengamankan sumber daya tanpa harus menulis tindakan kustom.

Dimulai dengan paket yang dikembangkan untuk Windows Installer 5.0, tabel MsiLockPermissionsEx harus menggantikan penggunaan tabel LockPermissions . Fungsionalitas yang diperluas yang disediakan oleh tabel MsiLockPermissionsEx memungkinkan paket untuk mengamankan Windows Services, file, folder, dan kunci registri. Paket tidak boleh berisi tabel MsiLockPermissionsEx dan LockPermissions.

Pemasang Windows 4.5 dan yang lebih lama mengabaikan tabel MsiLockPermissionsEx. Dimulai dengan Windows Installer 5.0, penginstalan gagal dengan pesan kesalahan 1941 jika paket berisi tabel LockPermissions dan tabel MsiLockPermissionsEx. Paket penginstalan yang ada yang hanya berisi tabel LockPermissions masih dapat diinstal menggunakan Pemasang Windows 5.0.

Pemasang Windows 5.0 memproses informasi dalam tabel MsiLockPermissionsEx saat menjalankan tindakan standar InstallFiles, InstallServices, WriteRegistryValues , dan CreateFolders . Objek yang dapat diamankan harus diinstal atau diinstal ulang untuk diamankan dan tidak dimungkinkan untuk menambahkan Daftar Access Control (ACL) ke objek yang ada tanpa menginstal ulang objek tersebut.

Untuk menentukan layanan, file, direktori, atau kunci registri yang akan diamankan, masukkan informasi identifikasi di bidang LockObject dan Tabel dari tabel MsiLockPermissionsEx . Objek diidentifikasi oleh kunci utamanya di Tabel ServiceInstall, Tabel File, Tabel Registri, atau Tabel CreateFolder.

Untuk meminta izin yang ditentukan berlaku untuk objek, masukkan string deskriptor keamanan yang valid di bidang SDDLText dari tabel MsiLockPermissionsEx menggunakan bahasa definisi pendeskripsi keamanan (SDDL) yang valid. Tabel MsiLockPermissionsEx dapat menentukan deskriptor keamanan yang menolak izin, menentukan pewarisan izin dari sumber daya induk, atau menentukan izin akun baru. Untuk daftar semua izin yang dapat diberikan, ditolak, atau diwariskan, lihat String ACE. Pemasang Windows 5.0 memperluas kumpulan pengidentifikasi keamanan (SID) yang tersedia. Untuk daftar SID yang valid, lihat String SID.

Catatan

Jika Anda ingin mengonfigurasi pendeskripsi keamanan sumber daya induk untuk menentukan bahwa izinnya diwariskan oleh objek anak, penginstal Anda harus menerapkan izin ke sumber daya induk sebelum membuat objek turunan. Jika alat penginstal Anda membuat objek anak sebelum menerapkan izin yang dapat diwariskan ke sumber daya induk, izin sumber daya induk tidak akan disebarluaskan ke objek anak.

Dimulai dengan Penginstal Windows 5.0, jenis data FormattedSDDLText memperluas jenis data Yang Diformat . Penginstal Windows memvalidasi bahwa string FormattedSDDLText yang dimasukkan di kolom SDDLText dari tabel MsiLockPermissionsEx sesuai dengan Format String Deskriptor Keamanan.

Pemasang Windows 4.5 atau yang lebih lama: Tidak didukung. Tabel MsiLockPermissionsEx dan jenis data FormattedSDDLText tersedia dimulai dengan Windows Installer 5.0.