Apa yang terjadi jika aturan komponen rusak?

Dalam kasus tertentu, penulis dapat memutuskan bahwa mereka perlu melanggar aturan untuk membuat komponen seperti yang dibahas dalam Mengatur Aplikasi menjadi Komponen dan Mengubah Kode Komponen. Penulis perlu menyadari kemungkinan konsekuensi dari melakukan ini dan sebaliknya harus menjamin bahwa komponen mereka tidak pernah diinstal di mana mereka dapat merusak aplikasi atau komponen lain pada sistem pengguna.

Daftar berikut menjelaskan cara penulis terkadang melanggar aturan komponen yang direkomendasikan dan kemungkinan konsekuensinya.

Penulis menambahkan sumber daya ke komponen tanpa mengubah kode komponen.

  • Produk yang diinstal dengan komponen lama tidak memiliki informasi tentang sumber daya yang ditambahkan dalam database penginstalan mereka.
  • Jika produk baru yang memiliki sumber daya tambahan dan produk lama diinstal pada komputer yang sama, sumber daya dapat ditinggalkan jika produk baru dihapus instalannya terlebih dahulu.
  • Produk lama tanpa sumber daya yang ditambahkan tidak dapat memperbaiki versi komponen yang lebih baru. Menginstal ulang produk lama tidak memulihkan sumber daya yang ditambahkan.

Penulis menghapus sumber daya dari komponen tanpa mengubah kode komponen.

  • Produk yang diinstal dengan komponen baru tidak memiliki informasi tentang sumber daya yang dihapus dalam database penginstalannya.
  • Jika kedua produk lama, memiliki informasi sumber daya, dan produk baru diinstal pada komputer yang sama, sumber daya dapat ditinggalkan jika produk lama dihapus instalannya terlebih dahulu.
  • Produk baru dengan sumber daya yang dihapus tidak dapat memperbaiki versi produk yang lebih lama. Menginstal ulang produk baru tidak memulihkan sumber daya yang dihapus.

Penulis menyertakan file yang tidak kompatibel dengan versi sebelumnya tanpa mengubah kode komponen.

Jika file yang tidak kompatibel disertakan dalam komponen tanpa mengubah kode komponen, penerapan versi file default menyebabkan penginstal menimpa file asli dengan file yang lebih baru yang tidak kompatibel. Ini dapat merusak produk lama yang membutuhkan file asli. Ini juga dapat mencegah alat penginstal memperbaiki produk lama karena versi file jalur kunci komponen menentukan versi komponen. Jika versi yang lebih baru dari file jalur kunci sudah diinstal, alat penginstal tidak menginstal versi komponen yang lebih lama. Untuk informasi selengkapnya, lihat Aturan Penerapan Versi File. Dalam hal ini, produk baru harus dihapus sebelum produk lama dapat diinstal ulang.

  • Penerapan versi file default menyebabkan penginstal menimpa file asli dengan file yang lebih baru tidak kompatibel.
  • Produk lama yang membutuhkan file asli rusak.
  • Ini juga dapat mencegah alat penginstal memperbaiki produk lama karena versi file jalur kunci komponen menentukan versi komponen. Jika versi yang lebih baru dari file jalur kunci sudah diinstal, alat penginstal tidak menginstal versi komponen yang lebih lama. Untuk informasi selengkapnya, lihat Aturan Penerapan Versi File. Dalam hal ini, produk baru harus dihapus sebelum produk lama dapat diinstal ulang.

Penulis menyertakan sumber daya yang sama dalam dua komponen yang berbeda.

Jika dua komponen memiliki sumber daya dengan nama dan lokasi yang sama dan kedua komponen diinstal ke folder yang sama, maka penghapusan salah satu komponen akan menghapus sumber daya umum, yang merusak komponen yang tersisa.

  • Menghapus instalasi salah satu komponen akan menghapus sumber daya dan merusak komponen lainnya.
  • Mekanisme penghitungan referensi komponen rusak.