Pemasang Windows memang memiliki reputasi lambat. Ada beberapa hal yang berkontribusi terhadap hal ini dan saya akan mengatasinya di bawah ini. Tetapi pada akhirnya, orang harus bertanya pada diri sendiri apakah satu, dua, atau tiga menit benar-benar masalah pertikaian ketika menginstal dan menghapus instalasi perangkat lunak. Saya mengambil lebih banyak waktu daripada membalik-balik saluran TV :)
Registry
Ini adalah pelakunya nomor satu. Pemasang Windows banyak menggunakan registri untuk operasinya. Ketika sistem Anda menjadi matang, saat Anda menginstal dan menghapus aplikasi dan seiring bertambahnya ukuran registri atau menjadi terfragmentasi, MSI akan menjadi lebih lambat. Aplikasi yang sama akan menginstal dan menghapus instalan lebih cepat pada instalasi Windows yang asli, daripada pada sistem yang matang. Solusinya di sini adalah mencoba dan menjaga registri tetap bersih dan didefragmentasi.
Untuk pembersihan registri, gunakan salah satu dari banyak alat yang tersedia di luar sana. Tetapi untuk defrag registri saya tidak dapat merekomendasikan NTREGOPT yang cukup untuk optimasi sarang internal dan PageDefrag untuk defragmentasi file fisik.
Alasan mengapa operasi MSI menjadi lambat pada registri ada hubungannya dengan bagaimana MSI menggunakannya. Pemasang Windows menggunakan registri untuk melacak Produk mana yang telah diinstal Komponen mana dan ke Lokasi mana itu diinstal. GUIDs instalasi asli digunakan dalam format terkompresi. Informasi per mesin tentang penginstalan dapat ditemukan di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18
, sedangkan data per pengguna ditemukan di sebelahnya di bawah HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\
dan pada kunci dengan SID pengguna.
Kedua kunci ini bisa sangat besar dan berisi banyak subkunci dan nilai. Mereka mengontrol Produk, Komponen dan KeyPath dari setiap aplikasi yang diinstal. Semua informasi ini harus dibaca dan diproses untuk prosedur penghapusan instalasi yang benar. Namun format registri mencantumkan kunci dalam urutan abjad yang memungkinkan untuk pencarian biner. Tapi nilainya tidak. Mereka disimpan begitu dibuat, jadi prosedur pencarian linear harus dilakukan. Yang memperlambat kinerja algoritma.
Secara keseluruhan, MSI adalah metode yang agak lengkap dan akurat untuk instalasi dan penghapusan instalasi perangkat lunak. Tetapi menderita ketergantungan registri. Sistemnya sangat baik. Ini adalah registri Windows yang seharusnya diperbaiki sejak lama :)
Untuk informasi lebih lanjut:
Untuk analisis mendalam tentang apa yang dilakukan MSI selama setiap prosedur pemasangan atau penghapusan, lihat artikel ini yang menjelaskan cara mengatur MSI Debug. Atau, untuk informasi yang kurang namun masih bernilai, yang satu ini cara mengaktifkan logging.