If-Koubou

Mengapa Anda Tidak Dapat Menghapus Beberapa Program Secara Bersamaan di Windows?

Mengapa Anda Tidak Dapat Menghapus Beberapa Program Secara Bersamaan di Windows? (Bagaimana caranya)

Misalkan Anda memiliki sekumpulan kecil program yang ingin Anda copot pada sistem Windows Anda, tetapi Windows hanya akan membiarkan Anda menghapusnya satu per satu. Mengapa demikian? Apa yang menghentikan Anda dari mencopot beberapa program secara bersamaan?

Sesi Tanya & Jawab hari ini hadir untuk memberi kami hak milik SuperUser-sub divisi Stack Exchange, pengelompokan situs web Q & A berbasis komunitas.

Pertanyaan

Pembaca SuperUser Jeroen Bollen ingin tahu mengapa seseorang tidak dapat menghapus beberapa program secara bersamaan di Windows:

Mengapa Windows menghindarkan Anda dari mencopot atau menghapus beberapa program secara bersamaan? Apa alasan dibalik ini? Apakah akan mengacaukan sistem internal?

Saya tidak ingin menghapus beberapa program secara bersamaan, saya hanya mencari alasan mengapa tidak akan menjadi pilihan.

Apa yang menghentikan orang dari menguninstall beberapa program secara bersamaan di Windows?

Jawabannya

Superuser kontributor ultrasawblade dan techie007 memiliki jawabannya untuk kami. Pertama, ultrasawblade:

Jika Anda membaca apa pun tentang cara kerja sistem penginstal Windows, jelas bahwa mereka menerapkan beberapa ide dari basis data transaksional ke instalasi dan pemeliharaan program, belum lagi .msi file itu sendiri adalah database.

Selalu ada pertanyaan dalam mendesain database apa pun - apakah Anda menginginkan kecepatan atau akurasi / keselamatan? Mengingat bahwa installer dapat memodifikasi konfigurasi sistem dan bahwa kecelakaan dapat menyebabkan sistem tidak dapat beroperasi, keselamatan telah diberikan prioritas di atas kecepatan.

Salah satu alasannya mengapa .msi installer sangat lambat karena file rollback dibuat untuk setiap file, dll. yang akan dimodifikasi, kemudian dihapus setelahnya, memungkinkan perubahan apa pun untuk "dibatalkan" jika terjadi kesalahan di tengah-tengah hal (seperti pemadaman listrik atau sistem crash).

Sekarang, saya yakin mesin MSI itu sendiri memaksa menginstal, memodifikasi, atau menghapus hanya satu program pada satu waktu. Jika Anda mencoba menjalankan .msi file sementara yang lain menghapus instalan misalnya, itu tidak akan berjalan, atau akan menunggu proses uninstall yang saat ini berjalan untuk selesai. Pemasang non-MSI mungkin tidak berperilaku seperti ini karena mereka tidak menggunakan mesin MSI. Tetapi karena keputusan desain keselamatan ini, ini mungkin alasannya appwiz.cpl bersikeras hanya membiarkan satu uninstaller dipanggil sekaligus.

CCleaner memungkinkan Anda untuk memulai uninstaller tanpa menunggu yang sudah berjalan sebelumnya untuk menyelesaikan, tetapi installer MSI kemungkinan akan tetap tidak berfungsi secara paralel karena hal di atas.

Diikuti oleh jawaban dari techie007:

Ini benar-benar hanya berlaku untuk program yang menggunakan sistem Windows Installer.

Jika sebuah program menggunakan sistem pemasang (un) sendiri, maka tidak ada yang menghentikan Anda menjalankan uninstaller lain pada saat yang bersamaan.

Windows Installer membatasi jumlah instance untuk menghindari konflik yang dibuat oleh beberapa program saat mereka mengubah pengaturan dan file di seluruh sistem (sering dibagikan).

Kebanyakan uninstaller melacak apa yang mereka ubah sehingga mereka dapat memutar kembali dengan sukses jika ada kegagalan. Jika seseorang tidak menyadari semua perubahan yang dibuat (oleh uninstaller lain), maka itu mungkin benar-benar membuat hal-hal BURUK jika mencoba untuk memutar kembali instalasi yang gagal.

Sistem Windows Installer dibuat dengan maksud menjadi sistem terpadu untuk semua pengembang aplikasi untuk menggunakan (pada Windows) untuk membantu menghindari masalah seperti ini.

Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.