Mengapa Windows tidak memungkinkan Anda untuk menghapus atau menghapus beberapa program sekaligus? Apa alasan di balik ini? Apakah ini akan mengacaukan sistem internal?
Saya tidak mencari cara menghapus beberapa program sekaligus, saya hanya mencari alasan mengapa itu tidak menjadi pilihan.
apt-get -y uninstall prog1 prog2 prog3
.Jawaban:
Jika Anda membaca apa pun tentang cara kerja sistem pemasang Windows, jelas mereka menerapkan beberapa ide dari basis data transaksional ke instalasi dan pemeliharaan program, belum lagi
.msi
file itu sendiri adalah basis data.Selalu ada pertanyaan dalam mendesain basis data apa pun - apakah Anda menginginkan kecepatan atau ketepatan / keamanan? Mengingat bahwa penginstal dapat mengubah konfigurasi sistem dan bahwa kecelakaan dapat membuat sistem tidak dapat dioperasikan, keselamatan telah diberikan prioritas dibandingkan kecepatan. Salah satu alasan mengapa
.msi
installer sangat lambat adalah karena file rollback dibuat untuk setiap file, dll. Yang akan dimodifikasi, dan kemudian dihapus setelah itu - memungkinkan perubahan "digulung kembali" jika terjadi kesalahan di tengah-tengah hal ( seperti pemadaman listrik atau crash sistem).Sekarang, saya percaya mesin MSI itu sendiri memberlakukan menginstal, memodifikasi, atau menghapus hanya satu program pada satu waktu - jika Anda mencoba menjalankan
.msi
sementara yang lain menghapus, misalnya, itu tidak akan berjalan atau akan menunggu untuk uninstall yang sedang berjalan saat ini menyelesaikan. Pemasang non-MSI mungkin tidak berlaku seperti ini - karena mereka tidak menggunakan mesin MSI. Tetapi karena keputusan desain keselamatan ini, ini mungkin mengapaappwiz.cpl
bersikeras hanya membiarkan satu uninstaller dipanggil sekaligus.CCleaner memungkinkan Anda memulai uninstaller tanpa menunggu yang berjalan sebelumnya selesai. Pemasang MSI kemungkinan masih tidak akan bekerja secara paralel karena hal di atas.
sumber
Ini hanya benar-benar berlaku untuk program yang menggunakan sistem Pemasang Windows .
Jika suatu program menggunakan sistem penginstal mereka sendiri (tidak), maka tidak ada yang menghentikan Anda dari menjalankan uninstaller lain pada saat yang bersamaan.
Pemasang Windows membatasi jumlah instance untuk menghindari konflik yang dibuat oleh banyak program saat mereka mengubah pengaturan dan file di seluruh sistem (sering dibagi).
Sebagian besar pencopot melacak apa yang mereka ubah sehingga mereka dapat berhasil kembali jika ada kegagalan. Jika seseorang tidak mengetahui semua perubahan yang dibuat (oleh uninstaller lain) maka itu mungkin benar-benar membuat hal-hal lebih buruk jika mencoba untuk mengembalikan instalasi yang gagal.
Sistem Pemasang Windows dibuat dengan tujuan menjadi sistem terpadu untuk digunakan oleh semua pengembang aplikasi (pada Windows), untuk membantu menghindari masalah seperti ini.
sumber
Tugas penghapusan instalasi sering memodifikasi file yang digunakan bersama oleh banyak program, atau file sistem \ Registry (alasan sebagian untuk memerlukan kekuatan administratif untuk melakukannya). Jika beberapa tugas penghapusan instalan berjalan pada saat yang sama, itu bisa konflik. Jika Anda pernah mengalami "DLL Hell", itu akan sama. Program lain atau Windows itu sendiri dapat dibiarkan dalam keadaan tidak konsisten.
sumber
Menghapus instalasi program secara bersamaan, selain memiliki masalah potensial yang disebutkan di atas, memiliki manfaat yang sangat kecil: itu tidak akan jauh lebih cepat daripada menghapus instalasi program secara berurutan. Menghapus program adalah tugas yang melibatkan disk IO. Menjalankan beberapa program yang melakukan IO tidak lebih cepat daripada menjalankannya secara berurutan (kecuali jika program diinstal pada dua disk fisik yang terpisah). Faktanya, ini cenderung lebih lambat karena dua tugas IO yang bersaing akan membuat cache disk kurang efisien dan kepala fisik disk harus melompat dari satu tempat ke tempat lain.
sumber