Jak mogę przyspieszyć instalację i deinstalację pakietu MSI?

14

Podczas instalowania i odinstalowywania pakietów Instalatora Windows lub wywoływanych plików MSI postęp instalacji jest znacznie wolniejszy niż w przypadku innych pakietów instalacyjnych.

Dlaczego tak jest i co mogę zrobić, aby przyspieszyć ?

Stein Åsmul
źródło
1
Co wiesz, jestem natychmiast odrzucony za udzielenie praktycznych i technicznych porad ze świata wdrażania w świecie administracji systemem. Rady w tym wątku są logicznie i technicznie trafne w momencie pisania. Konstruktywna krytyka jest mile widziana.
Stein Åsmul
Zasadniczo napisałeś artykuł na temat niektórych aspektów technologii MSI. To chyba fajne. Jako administrator systemu nigdy tak naprawdę nie potrzebowałem rozwiązać problemu „Moje instalacje oprogramowania są tak wolne”.
mfinni
To jest zaktualizowana odpowiedź na pytanie, które widziałem kilka razy na tej stronie i innych stronach wymiany stosów.
Stein Åsmul
3
@mfinni - nie znaczy to jednak, że nie jest na ten temat. Na tej stronie jest wiele problemów, których nie widzę.
Mark Henderson
Pytał, dlaczego został odrzucony bez komentarza. Nie głosowałem, ale udzieliłem odpowiedzi, którą uznałem za możliwy powód.
mfinni

Odpowiedzi:

15

Szybkie podsumowanie

  • Aby dostosować parametry, potrzebujesz prędkości :
    • MSIFASTINSTALL (spróbuj, może3lub7)
    • FASTOEM (przemyśl dwa razy, musisz przeczytać dokumentację)
    • DISABLEROLLBACK (zrozumieć, co to znaczy, może powodować działania niestandardowe w pakiecie MSI nie uciekaj! To zależy od MSI projektowania - poszukaj komisje i wycofania akcji niestandardowych )
  • Oprogramowanie zabezpieczające można zawiesić w celu przyspieszenia instalacji.
    • Spróbuj wyłączyć podczas instalacji - przeskanuj swój instalator na virustotal.com .
  • Spróbuj uruchomić z obrazu administracyjnego ( informacje alternatywne ) (nie wymaga wyciągu pliku).
    • Uruchamianie z lokalnego obrazu administracyjnego byłoby najszybsze.
    • Sieć o dużym opóźnieniu może spowolnić instalację, jeśli używasz obrazu administracyjnego sieci?
      • Potencjalnie wysoki narzut na plik (małe pliki).
      • Pobieranie pojedynczego CAB może być szybsze (sprawdzanie wirusów może tutaj zająć dużo czasu)?
  • Przywracanie systemu można wyłączyć globalnie na komputerze (nie tylko za pomocą MSIFASTINSTALL).

Informacje podstawowe

Duża część powolności sesji Instalatora Windows wynika z jego możliwości wycofywania . Po pierwsze, tworzy punkt przywracania przed instalacją lub odinstalowaniem (pod warunkiem, że przywracanie systemu nie zostało wyłączone). Następnie wykona kopię zapasową wszystkich plików i kluczy rejestru, których dotyczy problem, zarówno podczas odinstalowywania, jak i instalowania, aby zapewnić przywrócenie systemu do pierwotnego stanu w przypadku wystąpienia błędu. Późniejsze wersje Instalatora Windows zawierają sposoby na wyłączenie tej złożoności i przyspieszenie. Zobacz informacje techniczne poniżej.

Innym czynnikiem prędkości jest to, że wszystkie komponenty i funkcje MSI zostaną zarejestrowane w rejestrze . Wymaga to sporo ogólnych kosztów , ale jest konieczne do osiągnięcia ważnych korzyści z wdrożenia korporacyjnego i administracji systemu . Żadne inne technologie wdrażania nie zapewniają takiego poziomu kontroli.

Duże pliki MSI z osadzonymi plikami źródłowymi mogą wymagać dużo czasu, aby wyodrębnić pliki instalatora do folderu tymczasowego. Czasami może to być największe wąskie gardło ze wszystkich. Zaleca się uruchomienie instalacji administratora w celu wyodrębnienia plików źródłowych z takiego pakietu, aby pojawiały się one obok samego pliku MSI, eliminując potrzebę wyodrębniania plików lokalnie na każdym komputerze, a tym samym oszczędzając czas wdrażania. Oto kolejny artykuł opisujący ekstrakcję plików z pakietów MSI w prostych słowach .


Specyfikacja


AKTUALIZACJA (luty 2018): Możesz ustawić właściwość o nazwie FASTOEM w bardzo wyjątkowych okolicznościach (patrz powiązane treści), aby przyspieszyć wdrożenie. Nigdy tego nie próbowałem, ale warto przeczytać. Wątpię, czy uda ci się skutecznie go używać, ale warto spróbować.


Najnowsza aktualizacja Instalatora Windows w chwili pisania tego tekstu, Instalator Windows 5 (dostępny w systemie Windows Server 2012, Windows 8, Windows Server 2008 R2 lub Windows 7), zawiera nową właściwość MSIFASTINSTALL, której można użyć do przyspieszenia instalacji duży pakiet MSI . Link powyżej zawiera prawidłowe wartości. Sugerowałbym 3 dla braku punktu przywracania , a tylko FileCosting (proces określania wymagań dotyczących miejsca na dysku). Lub 7, aby również zmniejszyć częstotliwość komunikatów o postępie.

Normalne „ kosztowanie ” obejmuje wiele porównań funkcji, komponentów, dysków i rejestrów oraz obliczeń między tym, co istnieje w systemie, a tym, co jest instalowane. Moim zdaniem większość z nich rzadko jest potrzebna (miejsce na dysku jest na ogół dużo na komputerach klienckich - aw rzeczywistości w 2018 r. Z mniejszym dyskiem SD problem z powierzchnią mógł powrócić ...), ale oczywiście bezpieczniej jest pozwolić na pełne kalkulacja kosztów.

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

Można również ustawić właściwość DISABLEROLLBACK, aby wyłączyć obsługę wycofywania w instalatorze MSI. Zdecydowanie odradzam korzystanie z tego, chyba że wystawiasz nowy komputer. Jest to szczególny przypadek, gdy możesz zacząć od nowa, jeśli coś zawiedzie. W przypadku rzeczywistego komputera nie polecam włączania tej właściwości.

Ironią jest to, że wyłączenie przywracania przyspieszy rzeczy najbardziej, jeśli używasz ogromnego pakietu aktualizacji, który zastępuje wiele plików lub jakiejkolwiek dużej dezinstalacji (ponieważ odinstalowanie przeniesie wszystkie usunięte pliki do obszaru wycofywania). Może to być dość znaczące, ale niebezpieczne. Właśnie ustawiono tę właściwość w wierszu polecenia: msiexec.exe / I „D: \ winzip112.msi” / QN MSIFASTINSTALL = 3 DISABLEROLLBACK = 1

Instalacja administracyjna

I wreszcie, jak wspomniano powyżej w informacjach ogólnych, uruchom instalację administracyjną pliku MSI, aby wyodrębnić pliki, aby wyodrębnienie nie nastąpiło lokalnie na każdym komputerze. Zakłada się, że jesteś w dość szybkiej sieci, a kopiowanie plików odbywa się bez zbytniego opóźnienia. Podejrzewam, że sieć bezprzewodowa o dużym opóźnieniu mogłaby spowolnić pracę przy wyodrębnianiu małych plików, które należy kopiować jeden po drugim. Uruchomisz instalację administratora, po prostu przekazując / a do pliku instalacyjnego:

setup.exe / a

lub

msiexec / a "D: \ winzip112.msi"

Następnie postępuj zgodnie z instrukcjami i wybierz lokalizację wyodrębnienia plików. Zobacz superuser.com dla wątku dyskusji tej funkcji.


Niektóre linki :

Prędkość:

Stein Åsmul
źródło
prawda MSIFASTINSTALL? bez ERogona.
n611x007,
Dodałem właściwość MSIFASTINSTALL = 3 w moim projekcie Wix. Mimo to nie ma różnicy w czasie instalacji. <Identyfikator właściwości = „MSIFASTINSTALL” Wartość = „3” /> Czy zrobiłem coś złego?
Kathir Subramaniam
1
Głównie poprawia czas „zejścia z ziemi” dla MSI - tworzenie punktu przywracania systemu może być powolne. Pomaga również w obliczeniu wymagań dotyczących miejsca, ale sama instalacja nie jest dużo szybsza. Poczekaj, aż znajdę inną odpowiedź, do której mogę cię wysłać.
Stein Åsmul
Jak zobaczysz: nie ma srebrnej kuli, ale możesz wprowadzić kilka drobnych poprawek. Jak duża jest Twoja konfiguracja?
Stein Åsmul