MSI paketinin yüklenmesini ve kaldırılmasını nasıl hızlandırabilirim?


14

Windows Installer paketlerini veya MSI dosyalarını çağrılırken yüklerken ve kaldırırken , yüklemenin ilerlemesi diğer yükleme paketlerinden önemli ölçüde daha yavaş görünür .

Neden böyle ve işleri hızlandırmak için ne yapabilirim ?


1
Ne biliyorsun, dağıtım dünyasından sistem yönetimi dünyasına bazı pratik ve teknik tavsiyeler vermeye çalıştığım için anında oy kullanıyorum. Bu konudaki tavsiye, yazı yazıldığı andan itibaren mantıksal ve teknik olarak sağlamdır. Yapıcı eleştiri hoş geldiniz.
Stein Åsmul

Esasen MSI teknolojisinin bazı yönleri hakkında bir makale yazdınız. Güzel, sanırım. Bir sistem yöneticisi olarak, "Yazılım yüklemelerim çok yavaş."
mfinni

Bu, bu sitede ve diğer yığın değişim sitelerinde birkaç kez gördüğüm bir sorunun güncellenmiş bir cevabıdır.
Stein Åsmul

3
@mfinni - konu dışı olmadığı anlamına gelmez. Bu sitede görmediğim pek çok sorun var.
Mark Henderson

Yorum yapmadan neden aşağı seçildiğini soruyordu. Oy vermedim, ama bunun olası bir nedeni olarak gördüğüm bir cevap verdim.
mfinni

Yanıtlar:


15

Hızlı özet

  • Ayarlamak için hıza ihtiyaç duyulan özellikler :
    • MSIFASTINSTALL (deneyin, belki3veya7)
    • FASTOEM (iki kere düşünün, belgeleri okumalısınız)
    • DISABLEROLLBACK (bunun ne anlama geldiğini anlayın , MSI paketindeki özel eylemlerin çalışmamasına neden olabilir! MSI tasarımına bağlıdır - taahhüt ve geri alma özel eylemlerini arayın)
  • Kurulumları hızlandırmak için güvenlik yazılımı askıya alınabilir.
  • Yönetim resminden çalıştırmayı deneyin ( alternatif bilgi ) (dosya ayıklaması gerekmez).
    • Yerel bir yönetim resminden çalıştırmak en hızlı olurdu.
    • Bir ağ yönetim resmi kullanırsanız yüksek gecikmeli ağ kurulumu yavaşlatabilir mi?
      • Dosya başına potansiyel olarak yüksek ek yük (küçük dosyalar).
      • Tek bir CAB indirmek daha hızlı olabilir (virüs kontrolü burada uzun sürebilir)?
  • Sistem geri yüklemesi makinede global olarak devre dışı bırakılabilir (sadece MSIFASTINSTALL üzerinden değil).

Arkaplan bilgisi

Windows Installer oturumunun yavaşlığının büyük kısmı geri alma özelliklerinden kaynaklanmaktadır . İlk olarak, yüklemeden veya kaldırmadan önce bir geri yükleme noktası oluşturur (sistem geri yüklemesinin devre dışı bırakılmamış olması koşuluyla). Daha sonra hem kaldırma hem de yükleme sırasında etkilenen tüm dosyaları ve kayıt defteri anahtarlarını yedekler ve bir hata oluştuğunda sistemin orijinal durumuna geri yüklenebilmesini sağlar. Windows Installer'ın sonraki sürümlerinde bu karmaşıklığın bir kısmını devre dışı bırakmanın ve işleri hızlandırmanın yolları bulunur. Aşağıdaki teknik bilgilere bakın.

Başka bir hız faktörü, MSI'daki tüm bileşenlerin ve özelliklerin kayıt defterine kaydedilmesidir . Bu, biraz ek yük gerektirir , ancak önemli kurumsal dağıtım ve sistem yönetimi avantajları elde etmek için gereklidir . Başka hiçbir dağıtım teknolojisi bu düzeyde kontrol sahibi değildir.

Gömülü kaynak dosyalarına sahip büyük MSI dosyaları , yükleyici dosyalarını temp klasörüne çıkarmak için çok zamana ihtiyaç duyabilir. Bu bazen herkesin en büyük darboğazı olabilir. Kaynak dosyaları, MSI dosyasının kendisiyle yan yana görünecek şekilde her pakette yerel olarak ayıklama ihtiyacını ortadan kaldıracak ve böylece dağıtım süresini azaltacak şekilde böyle bir paketten ayıklamak için bir yönetici yüklemesi çalıştırmanız önerilir . Burada MSI paketlerinden dosya ayıklamayı basit terimlerle açıklayan başka bir makale var .


Teknik Bilgiler


GÜNCELLEME (Şub.2018): Konuşlandırmayı hızlandırmak için çok özel koşullar altında (bağlantılı içeriğe bakın) FASTOEM adlı bir özellik ayarlayabilirsiniz . Bunu hiç denemedim, ama okumaya değer. Bunu etkili bir şekilde kullanmayı başaracağınızdan şüpheliyim, ancak denemeye değer olabilir.


Yazma sırasında Windows Installer'a yönelik en son güncelleştirme olan Windows Installer 5 (Windows Server 2012, Windows 8, Windows Server 2008 R2 veya Windows 7'de bulunur), kurulumunu hızlandırmak için kullanılabilecek yeni bir MSIFASTINSTALL özelliğine sahiptir . büyük bir MSI paketi . Geçerli değerler için yukarıdaki bağlantıya bakın. Hiçbir geri yükleme noktası ve yalnızca FileCosting (disk alanı gereksinimlerini belirleme işlemi) için 3 öneriyoruz . Veya 7 ayrıca ilerleme mesajlarının sıklığını azaltmak için.

Normal " maliyetlendirme ", sistemde bulunan ve kurulu olan arasındaki birçok özellik, bileşen, disk ve kayıt defteri karşılaştırma ve hesaplamasına sahiptir. Bunun çoğu benim görüşüme göre nadiren gerekli (disk alanı genellikle istemci PC'lerde bol miktarda - ve 2018'in gerçeğinde daha küçük SD-disk ile alan sorunu yeniden ortaya çıkabilir ...), ancak tam olarak izin vermek daha güvenli maliyet koşusu.

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

MSI yükleyicisinde geri alma desteğini devre dışı bırakmak için DISABLEROLLBACK özelliğini ayarlamak da mümkündür . Eğer taze bir PC evreleme sürece bu kullanmayı şiddetle tavsiye ediyorum. Bu, bir şey başarısız olursa baştan başlayabileceğiniz özel bir durumdur. Gerçek kullanımdaki bir bilgisayar için bu özelliğin etkinleştirilmesini önermem.

İronik olan, çok sayıda dosyanın veya büyük bir kaldırma işleminin yerini alan büyük bir güncelleme paketi çalıştırdığınızda geri alma işleminin devre dışı bırakılmasını en çok hızlandıracaktır (çünkü kaldırma, kaldırılan tüm dosyaları geri alma alanına taşıyacaktır). Oldukça önemli olabilir, ancak güvensiz olabilir. Bu özelliği komut satırında ayarlıyorsunuz: msiexec.exe / I "D: \ winzip112.msi" / QN MSIFASTINSTALL = 3 DISABLEROLLBACK = 1

Yönetim Kurulumu

Ve son olarak, arka plan bilgilerinde yukarıda belirtildiği gibi, dosyaları ayıklamak için MSI dosyasının yönetimsel kurulumunu çalıştırın, böylece ayıklama her makinede yerel olarak gerçekleşmez. Bu, oldukça hızlı bir ağda olduğunuzu ve dosya kopyasının çok fazla gecikmeden gerçekleştiğini varsayar. Yüksek gecikmeli bir kablosuz ağın, tek tek kopyalanması gereken küçük dosyalar ile işleri yavaşlatabileceğini düşünüyorum. Kurulum dosyasına a / a ileterek bir yönetici yüklemesi çalıştırırsınız:

setup.exe / a

veya

msiexec / a "D: \ winzip112.msi"

Ardından istemleri izlemeniz ve dosyalar için bir çıkarma konumu seçmeniz gerekir. Bu özelliği tartışan bir ileti dizisi için superuser.com adresine bakın .


Bazı Bağlantılar :

hız:


değil MSIFASTINSTALLmi? ERkuyruk olmadan .
n611x007

Wix projemde MSIFASTINSTALL = 3 özelliğini ekledim. Yine de, kurulum süresinde bir fark yoktur. <Özellik Kimliği = "MSIFASTINSTALL" Değer = "3" /> Yanlış bir şey yapıp yapmadığım?
Kathir Subramaniam

1
Bir MSI için temel olarak "yerden kurtulma" süresini iyileştirir - bir sistem geri yükleme noktasının oluşturulması yavaş olabilir. Ayrıca alan gereksinimlerinin hesaplanmasına yardımcı olur, ancak asıl kurulumun kendisi çok daha hızlı değildir. Size gönderebileceğim başka bir cevap bulurken bekleyin.
Stein Åsmul


Gördüğünüz gibi: gümüş mermi yok, ancak yapabileceğiniz bazı ince ayarlar. Kurulumunuz ne kadar büyük?
Stein Åsmul
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.