Bagaimana saya bisa mempercepat instalasi dan uninstall paket MSI?

14

Saat menginstal dan menghapus instalan paket Pemasang Windows , atau file MSI sebagaimana mereka dipanggil, progres instalasi tampak jauh lebih lambat daripada dengan paket instalasi lainnya.

Mengapa demikian, dan apa yang bisa saya lakukan untuk mempercepat ?

Stein Åsmul
sumber
1
Apa yang Anda ketahui, saya langsung memilih untuk mencoba memberikan beberapa saran praktis dan teknis dari dunia penyebaran ke dunia administrasi sistem. Nasihat dalam utas ini baik secara logis maupun teknis pada saat penulisan. Selamat datang kritik konstruktif.
Stein Åsmul
Anda pada dasarnya telah menulis artikel tentang beberapa aspek teknologi MSI. Itu keren, kurasa. Saya tidak pernah, sebagai sysadmin, benar-benar diperlukan untuk menyelesaikan masalah "Instalasi perangkat lunak saya sangat lambat."
mfinni
Ini adalah jawaban yang diperbarui untuk pertanyaan yang telah saya lihat beberapa kali di situs ini dan situs pertukaran-tumpukan lainnya.
Stein Åsmul
3
@mfinni - tidak berarti itu tidak sesuai topik. Ada banyak masalah yang saya lihat di situs ini yang tidak saya alami.
Mark Henderson
Dia bertanya mengapa dia terpilih tanpa komentar. Saya tidak memilih, tetapi memberikan jawaban yang saya lihat sebagai alasan yang memungkinkan mengapa.
mfinni

Jawaban:

15

Ringkasan Cepat

  • Properti perlu -untuk- tweak:
    • MSIFASTINSTALL (coba, mungkin3atau7)
    • FASTOEM (berpikir dua kali, harus membaca dokumentasi)
    • DISABLEROLLBACK (memahami apa artinya, dapat menyebabkan tindakan kustom dalam paket MSI gagal berjalan! Itu tergantung pada desain MSI - cari tindakan kustom komit dan kembalikan )
  • Perangkat lunak keamanan dapat ditangguhkan untuk mempercepat instalasi.
    • Coba nonaktifkan ketika menginstal - pindai installer Anda di virustotal.com .
  • Coba jalankan dari gambar administratif ( info alternatif ) (tidak perlu ekstrak file).
    • Menjalankan dari gambar administrasi lokal akan menjadi yang tercepat.
    • Jaringan latensi tinggi dapat memperlambat instalasi jika Anda menggunakan gambar administrasi jaringan?
      • Potensi overhead tinggi per file (file kecil).
      • Mengunduh CAB tunggal bisa lebih cepat (pemeriksaan virus mungkin memakan waktu lama di sini)?
  • Pemulihan sistem dapat dinonaktifkan secara global pada mesin (tidak hanya melalui MSIFASTINSTALL).

Informasi latar belakang

Sebagian besar kelambatan sesi Pemasang Windows adalah karena kemampuan rollback-nya . Pertama itu menciptakan titik pemulihan sebelum menginstal atau menghapus instalan (asalkan pemulihan sistem belum dinonaktifkan). Kemudian itu akan mencadangkan semua file yang terkena dan kunci registri selama kedua uninstall dan instal untuk memastikan bahwa sistem dapat dikembalikan ke keadaan semula seandainya terjadi kesalahan. Versi Windows Installer yang lebih baru menampilkan cara-cara untuk menonaktifkan beberapa kompleksitas ini dan mempercepatnya. Lihat informasi teknis di bawah ini.

Faktor kecepatan lainnya adalah bahwa semua komponen dan fitur dalam MSI akan terdaftar dalam registri . Ini melibatkan sedikit overhead , tetapi perlu untuk mencapai manfaat penerapan dan administrasi sistem perusahaan yang penting . Tidak ada teknologi penyebaran lain yang memiliki tingkat kontrol ini.

File MSI besar dengan file sumber tertanam mungkin memerlukan banyak waktu untuk mengekstrak file instalasinya ke folder temp. Terkadang ini bisa menjadi hambatan terbesar dari semuanya. Dianjurkan untuk menjalankan instalasi admin untuk mengekstrak file sumber dari paket sedemikian sehingga mereka muncul berdampingan dengan file MSI itu sendiri, menghilangkan kebutuhan untuk mengekstrak file secara lokal pada setiap mesin dan karenanya menghemat waktu penyebaran. Berikut ini adalah artikel lain yang menjelaskan ekstraksi file dari paket MSI secara sederhana .


Informasi Teknis


UPDATE (Feb.2018): Anda dapat mengatur properti yang disebut FASTOEM dalam keadaan yang sangat khusus (lihat konten tertaut) untuk mempercepat penyebaran. Saya belum pernah mencoba ini, tetapi layak dibaca. Saya ragu Anda akan berhasil menggunakannya secara efektif, tetapi mungkin patut dicoba.


Pembaruan terbaru untuk Penginstal Windows pada saat penulisan, Penginstal Windows 5 (tersedia pada Windows Server 2012, Windows 8, Windows Server 2008 R2 atau Windows 7), menampilkan fitur MSIFASTINSTALL properti baru yang dapat digunakan untuk mempercepat pemasangan paket MSI besar . Lihat tautan di atas untuk nilai yang valid. Saya akan menyarankan 3 untuk tidak restore point , dan hanya FileCosting (proses penentuan kebutuhan ruang disk). Atau 7 juga mengurangi frekuensi pesan progres.

Normal " penetapan biaya " fitur banyak fitur, komponen, disk, dan perbandingan registri dan perhitungan antara apa yang ada pada sistem dan apa yang sedang diinstal. Sebagian besar ini jarang diperlukan menurut saya (ruang disk umumnya berlimpah pada PC klien - dan kembali pada tahun 2018 dengan SD-disk yang lebih kecil masalah ruang mungkin muncul kembali ...), tetapi jelas lebih aman untuk membiarkan penuh lari biaya.

msiexec.exe / I "D: \ winzip112.msi" / QN MSIFASTINSTALL = 3

Dimungkinkan juga untuk menyetel properti DISABLEROLLBACK untuk menonaktifkan dukungan rollback di installer MSI. Saya akan sangat menyarankan untuk tidak menggunakan ini kecuali jika Anda membuat PC baru. Ini adalah kasus khusus ketika Anda bisa memulai dari awal jika sesuatu gagal. Untuk komputer yang benar-benar digunakan, saya tidak akan merekomendasikan untuk mengaktifkan properti ini.

Ironisnya adalah menonaktifkan rollback akan mempercepat hal-hal yang paling jika Anda menjalankan paket pembaruan besar yang menggantikan banyak file, atau uninstall besar (karena uninstall akan memindahkan semua file yang dihapus ke area rollback). Ini bisa sangat signifikan, tetapi tidak aman. Anda cukup mengatur properti ini pada baris perintah: msiexec.exe / I "D: \ winzip112.msi" / QN MSIFASTINSTALL = 3 DISABLEROLLBACK = 1

Instalasi Administratif

Dan akhirnya, seperti disebutkan di atas dalam informasi latar belakang, jalankan instalasi administratif file MSI untuk mengekstrak file sehingga ekstraksi tidak terjadi secara lokal pada setiap mesin. Ini mengasumsikan bahwa Anda berada di jaringan yang agak cepat, dan salinan file itu terjadi tanpa penundaan terlalu banyak. Saya kira jaringan nirkabel latensi tinggi dapat membuat segalanya lebih lambat dengan file kecil diekstraksi yang harus disalin satu per satu. Anda menjalankan instalasi admin dengan hanya memberikan a / a ke file setup:

setup.exe / a

atau

msiexec / a "D: \ winzip112.msi"

Kemudian Anda harus mengikuti petunjuknya dan memilih lokasi ekstraksi untuk file. Lihat superuser.com untuk utas yang membahas fitur ini.


Beberapa Tautan :

Kecepatan:

Stein Åsmul
sumber
bukan begitu MSIFASTINSTALL? tanpa ERdi ekor.
n611x007
Saya telah menambahkan properti MSIFASTINSTALL = 3 di proyek Wix saya. Namun, tidak ada perbedaan dalam waktu pemasangan. <Property Id = "MSIFASTINSTALL" Value = "3" /> Apakah saya melakukan kesalahan?
Kathir Subramaniam
1
Ini terutama meningkatkan waktu "turun dari tanah" untuk MSI - pembuatan titik pemulihan sistem bisa lambat. Ini juga membantu perhitungan persyaratan ruang, tetapi pemasangan yang sebenarnya itu sendiri tidak jauh lebih cepat. Tunggu sebentar sementara saya menemukan jawaban lain yang mungkin saya kirimkan kepada Anda.
Stein Åsmul
1
Percepat instalasi . Dan akhir pengembangannya: Mempercepat proses pembangunan WiX . Instalasi administratif .
Stein Åsmul
Seperti yang akan Anda lihat: tidak ada peluru perak, tetapi beberapa penyesuaian yang dapat Anda lakukan. Seberapa besar pengaturan Anda?
Stein Åsmul