Biaya File

Biaya adalah proses menentukan total persyaratan ruang disk untuk penginstalan. Elemen yang dihitung dalam proses biaya file mencakup jumlah ruang disk tempat file diinstal atau dihapus, serta jumlah ruang disk yang diambil oleh entri registri, pintasan, dan file lain-lain. File yang ada yang dijadwalkan untuk ditimpa juga dihitung dalam total biaya disk.

Total biaya diakumulasi per komponen dan terdiri dari tiga bagian terpisah: biaya lokal, biaya sumber, dan biaya penghapusan. Bagian-bagian ini sesuai dengan biaya disk yang dikeluarkan jika komponen diinstal secara lokal, diinstal untuk dijalankan dari media sumber, atau dihapus.

Semua perhitungan yang melibatkan biaya penginstalan file tergantung pada volume disk tempat file akan diinstal atau dihapus. Setiap kali direktori yang terkait dengan komponen berubah, biaya file penginstalan yang dikendalikan oleh komponen tersebut harus dihitung ulang. Misalnya, karena perubahan direktori mungkin juga menyiratkan perubahan volume, ukuran file terkluster harus dihitung ulang. Selain itu, direktori baru harus diperiksa untuk menentukan apakah ada file yang mungkin ditimpa harus diperhitungkan.

Setelah tindakan CostInitialize dipanggil, tindakan FileCost harus dipanggil. Tindakan CostInitialize menginisialisasi rutinitas internal alat penginstal yang secara dinamis menghitung biaya disk yang terlibat dengan tindakan penginstalan standar. Tidak ada perhitungan biaya dinamis lainnya yang dilakukan pada saat ini.

Selanjutnya, tindakan CostFinalize harus dipanggil. Tindakan ini menyelesaikan semua perhitungan biaya dan membuat data biaya tersedia melalui tabel Komponen .

Setelah tindakan CostFinalize menyelesaikan eksekusi, tabel Komponen sepenuhnya diinisialisasi dan urutan kotak dialog antarmuka pengguna yang berisi kontrol SelectionTree dapat dimulai jika diperlukan. Kotak dialog antarmuka pengguna dapat menawarkan opsi untuk mengubah status pilihan atau direktori tujuan fitur apa pun dalam tabel Fitur kepada pengguna. Proses ini mirip ketika status pemilihan komponen berubah; namun, dalam hal ini, biaya dinamis dari komponen yang diubah hanya dihitung ulang.

Setelah pengguna selesai memilih fitur di antarmuka pengguna, tindakan InstallValidate harus dipanggil. Tindakan ini memverifikasi bahwa semua volume yang biayanya telah diatribusikan memiliki ruang yang cukup untuk penginstalan.