Jakie są zalety używania plików .msi w porównaniu ze zwykłymi plikami setup.exe?
Mam wrażenie, że wdrożenie jest łatwiejsze na komputerach, na których użytkownicy mają niewiele uprawnień, ale nie jestem pewien co do szczegółów.
Jakie funkcje ma msiexec.exe, który sprawia, że wdrożenie jest łatwiejsze niż przy użyciu scenariuszy setup.exe?
Wszelkie porady lub wskazówki dotyczące wdrażania aplikacji .msi?
logging
deployment
msi
windows-installer
patch
Frode Lillerud
źródło
źródło
AKTUALIZACJA, lipiec 2018 r . : Bardzo skompresowane podsumowanie poniższych informacji jest dostępne przy przepełnieniu stosu: Główne zalety MSI (
"executive summary"
- w pewnym sensie).Pracowałem w dziale rozwoju jako menedżer wydań , inżynier budowania , programista instalacji oraz jako program pakujący i inżynier wdrożeniowy w dużych korporacjach.
Jest to przegląd najlepszych (i najgorszych) cech koncepcyjnych i rzeczywistych MSI. Najbardziej powszechne problemy projektowe znajdujące się w plikach MSI prezentowane są jako odrębnej odpowiedzi poniżej . Nie udawanie, że jest kompletne - naprawdę po prostu bałaganiarski „zrzut mózgu” - zamierzone jako „to, czego nie można znaleźć w książkach” (prawdopodobnie z ważnego powodu).
Chcę również zasugerować ten artykuł MSDN jako dobrą lekturę: Instalator Windows: Korzyści i wdrożenie dla administratorów systemu .
Normalizacja:
Jednym słowem, MSI dotyczy standaryzacji i radzenia sobie z „ zapachami wdrożeniowymi ” starszych technologii instalatora. Cała kolekcja złych projektów architektury instalacji, które powodowały powtarzające się problemy z wdrażaniem.
Ogólnie rzecz biorąc, MSI zapewnia kompleksową, znormalizowaną platformę dla instalatora, która przede wszystkim obejmuje również deinstalację oraz wbudowane funkcje i opcje cichego działania ze znormalizowanym interfejsem graficznym, które można uruchamiać zdalnie .
Same te funkcje stanowią ogromną poprawę w porównaniu z poprzednimi technologiami instalacyjnymi, które traktowały deinstalację i cichą pracę przypadkową - być może najważniejsze funkcje dla wdrożenia korporacyjnego wraz z niezawodnym zdalnym zarządzaniem pakietami za pośrednictwem Active Directory lub dedykowanych narzędzi do zdalnej administracji, takich jak Microsoft SCCM (wcześniej SMS), IBM Tivoli , CA Unicenter i podobne.
Ktoś zduplikował wcześniejszą wersję tej odpowiedzi . Może szybszy odczyt?
Starsze instalatory „Pachnie wdrożeniem”
MSI aktywnie odradza zapachy związane z wdrażaniem starszych wersji . Tematy te zostały omówione w późniejszych sekcjach poniżej, ale jako krótka lista najbardziej rozpoznawalne problemy ze starszymi instalatorami i starszymi technologiami wdrażania to:
Lista zawiera wiele innych istotnych i uznanych wad wdrażania . Te problemy pojawiły się najczęściej w świecie korporacyjnych wdrożeń, co doprowadziło do działalności polegającej na „ przepakowywaniu aplikacji ”, w której przechwytywany jest starszy instalator z technologiami skanowania dysków i rejestru w celu utworzenia pliku MSI zgodnego ze standardami dla niezawodnego wdrożenia.
Ponowne pakowanie aplikacji jest zadaniem specjalistycznym i generalnie zapewnia doskonałą jakość plików MSI, jeśli jest wykonywane przez osoby posiadające wiedzę, ale nie jest możliwe ponowne pakowanie wszystkich aplikacji ze względu na złożoną logikę rejestracji, którą należy uruchamiać interaktywnie, aby niektóre aplikacje działały.
Korzyści z MSI - krótkie podsumowanie
W prostym językiem , że bardzo ważne są korzyści z MSI (w przypadkowej kolejności):
W prawdziwym świecie znalazłem mniej udane aspekty, takie jak łatanie (bardzo złożone), MSI-GUI (proste funkcje, dość złożone, brak elastyczności), odporność (może powodować trudności z debugowaniem powtarzających się problemów z samodzielną naprawą ) oraz ogólną złożoność radzenia sobie z technologią dla początkujących (czasami duża złożoność podstawowych operacji - na przykład aktualizacje, GUI i wiele interakcji, które powodują nieoczekiwane rezultaty itp.). Szybkość procesu instalacji również znacznie spadła z powodu zwiększonego obciążenia MSI. Zobacz kilka wskazówek dotyczących poprawy szybkości instalacji MSI .
Pozostała część tekstu zajmuje się bardziej szczegółowo niektórymi z tych aspektów MSI.
Przejrzystość (format otwartego instalatora)
Plik MSI jest w zasadzie rozebraną bazą danych SQL Server, przechowywaną jako plik pamięci o strukturze COM - zasadniczo system plików w pliku lub zbiór strumieni danych. Jest to typ pliku używany w dokumentach Microsoft Office i zapewnia standardowy format, który można przeglądać i sprawdzać - ogromny problem dla dużych korporacji.
Z wyjątkiem skompilowanych działań niestandardowych plik MSI jest białym polem . Jeśli konfiguracja zmieni coś szalonego, na przykład systemowe ustawienia systemowe, możesz to zobaczyć za pomocą odpowiednich narzędzi . Ważnym wyjątkiem są skompilowane akcje niestandardowe - które są czarnymi skrzynkami . Wymagania dotyczące logo systemu Windows wymagają adnotacji niestandardowych działań w celu wyjaśnienia, co robią, ale jest to często ignorowane przez programistów instalacji. Mamy nadzieję, że nadejście Wix to poprawi.
Aby ustalić, co takie skompilowane działania niestandardowe faktycznie robią w sensie technicznym, konieczne jest przechwycenie konfiguracji . Z mojego doświadczenia rzadko tak się dzieje. Bardziej powszechne jest skontaktowanie się ze sprzedawcą w celu uzyskania informacji, czy oprogramowanie wymaga zatwierdzenia do wdrożenia korporacyjnego, a wtedy może to być sama aplikacja, która uniemożliwia jego użycie, a nie tylko konfigurację.
Możliwość dostosowania (przekształca)
MSI można dostosować za pomocą przekształceń, aby dopasować je do potrzeb i standardów organizacji, jednocześnie umożliwiając współdziałanie z aktualizacjami instalatora dostawcy. Nie zmieniasz samego instalatora, tworzysz swoje dostosowanie w osobnym pliku dla organizacji zwanym transformacją (plik .mst) (fragment bazy danych lub zmieniaj transakcję, jeśli chcesz). Możesz dowolnie wyłączać niestandardowe akcje i ogólnie zmieniać, zastępować lub wyłączać cokolwiek w instalatorze, a nawet dodawać nowe rzeczy, w tym pliki. Pliki transformacji są również czasami używane do lokalizowania pliku MSI w różnych językach. Kilka transformacji można zastosować do pojedynczego MSI, oto próbka ze obciętymi ścieżkami :
Szybkie objaśnienie parametrów:
Zarządzanie i raportowanie
Instalator Windows prowadzi kompleksową bazę danych wszystkich elementów, które produkt zainstalował w rejestrze ( HKEY_CLASSES_ROOT \ Installer - nigdy niczego tu bezpośrednio nie zmieniaj! Dotyczy to również ekspertów).
Możesz niezawodnie określić, czy produkt został zainstalowany, jakie funkcje zostały zainstalowane i jakie wersje plików zostały zainstalowane. Ponadto można uzyskać listę wszelkich poprawek, które zostały zastosowane do produktu podstawowego, jeśli takie istnieją. Możesz uzyskać dostęp do tej bazy danych za pomocą API obsługujących Win32, COM lub .NET przy użyciu różnych narzędzi skryptowych, konfiguracyjnych i administracyjnych, takich jak Microsoft SCCM , IBM Tivoli , CA Unicenter itp.
Bezpieczeństwo (tymczasowe podwyższone prawa)
MSI obejmuje również zasady „podwyższonych uprawnień”, które pozwalają ograniczonemu użytkownikowi na uruchomienie instalacji produktu, który wymaga uprawnień administratora. Jest to część „ funkcji reklamowej ”, która pozwala administratorowi udostępnić instalatory użytkownikom bez ich instalowania na wszystkich stacjach roboczych. Sam instalator musi być poprawnie utworzony na kilku podstawowych kontach, aby ta koncepcja podwyższonych uprawnień działała poprawnie. Użytkownicy mogą sami uruchomić instalację produktu lub instalacja może być kontrolowana przez dedykowany system wdrażania, taki jak SCCM, Tivoli, Unicenter (zwykle większe firmy). Nie trzeba zadzierać z tymczasowymi uprawnieniami administratora, aby wszystko działało co często ma miejsce w przypadku starszych instalatorów.
Obszerna baza danych instalacji zapewnia również pełny przegląd zainstalowanych poprawek, a tym samym możliwość wykrycia luk w zabezpieczeniach za pomocą narzędzi automatyzacji i administracji.
Uprawomocnienie
Pliki MSI można sprawdzić za pomocą reguł sprawdzania poprawności, aby upewnić się, że są one zgodne z wieloma wewnętrznymi regułami spójności (zwanymi ICE). Korporacje mogą tworzyć własne kontrole ICE w celu egzekwowania specjalnych reguł i wymagań korporacyjnych. To bardzo pomaga w zapewnianiu jakości. Powód sprawdzania poprawności jest możliwy ze względu na samoreferencyjny charakter relacyjnych baz danych i powiązany schemat bazy danych. Baza danych musi być wewnętrznie spójna i zgodna z własnym schematem w odniesieniu do kluczy obcych, typów danych, szerokości pola, wersji schematu itp. Sprawdzanie poprawności również wykracza poza to i jest w stanie wykryć prawdziwe błędy logiczne i błędy w pakiecie , nie tylko błędy formatowania i pisania. Na przykład może wykryć pliki lub typy plików, które są wdrażane w błędnych miejscach docelowych.
Odporność (samodzielna naprawa)
Funkcja instalacji administratora w Instalatorze Windows zapewnia standardowy sposób na wyodrębnienie plików źródłowych z pliku MSI ( oto dodatkowe informacje na ten temat ). Te pliki źródłowe można następnie umieścić w udziale i udostępnić wszystkim stacjom roboczym do instalacji. Zapewnia to wykonanie operacji naprawy, odinstalowania i modyfikacji bez żądania nośnika instalacyjnego na dysku CD lub podobnym. Jest to szczególnie ważne w przypadku operacji łatania i aktualizacji, które mogą wymagać dostępu do plików źródłowych starych wersji w szczególnych okolicznościach.
Istnieją również typowe problemy z tą funkcją odporności. Większość administratorów doświadczyła maszyn z cyklicznymi cyklami autonaprawy, które nigdy się nie zatrzymują. Kliknij link, aby uzyskać długą listę przyczyn tego problemu. I znowu, tutaj jest krótsza wersja, która może być łatwiejsza do odczytania.
Wycofanie
Instalacja pliku MSI zwykle powoduje utworzenie punktu przywracania . Ponadto wszystkie pliki i elementy rejestru zastąpione lub nadpisane podczas instalacji zostaną zapisane i przywrócone, jeśli instalacja nie zakończy się, z wyłączeniem wszelkich zmian wprowadzonych w akcjach niestandardowych.
Niestandardowe działania muszą implementować własną obsługę wycofywania zgodności z logo Windows. Jest to często ignorowane, ale wiąże się z utworzeniem drugiej akcji niestandardowej w celu cofnięcia zmian wprowadzonych przez główną akcję niestandardową.
Wycofanie gwarantuje, że stacja robocza pozostanie w stabilnym stanie, nawet jeśli instalacja zakończy się niepowodzeniem. Rzeczywisty scenariusz wycofywania są przechowywane w ukrytym folderze bezpośrednio na dysku systemowym - ogólnie C: \ Config.msi i zawiera pliki o .RBS rozszerzeń i .RBF - Wycofywanie plików skryptów . Ponieważ można się spodziewać, że źle zaprojektowane pliki MSI mogą naruszać wbudowane funkcje systemu Windows, zobacz mój drugi post w tym wątku, aby uzyskać więcej informacji.
Istnieją sposoby na wyłączenie przywracania i przyspieszenie instalacji. Nie jest to ogólnie zalecane, ale oto szczegóły dotyczące właściwości MSIFASTINSTALL i DISABLEROLLBACK . Jest to skomplikowana funkcja, ale tutaj jest szybki przegląd wycofań .
Patchowanie i aktualizacje
Chociaż bardzo skomplikowane, łatanie w instalatorze Windows jest w pełni zarządzane i rejestrowane w systemie, dzięki czemu można określić stan bezpieczeństwa systemu, sprawdzając, co zostało zainstalowane. Aktualizacje są ustandaryzowane do kilku podstawowych wariantów, co pozwala na przeprowadzanie aktualizacji z większym stopniem pewności, pod warunkiem, że jesteś w stanie poradzić sobie ze złożonością. Systemy wdrażania będą mogły zgłaszać, które aktualizacje nie powiodły się i dlaczego.
W subiektywnym widoku łatanie działa dobrze dla 2 podstawowych zastosowań : 1 ) małych poprawek dla dostarczonych produktów oraz 2 ) łatania zainstalowanego produktu, aby naprawić jego wadliwą sekwencję odinstalowywania, która uniemożliwia odinstalowanie czystego produktu.
Plaster jest właśnie mechanizm dostawy dla aktualizacji, która już pracuje . Jako taki jest tylko pojemnikiem, który jest bardziej skomplikowany i podatny na błędy niż sama oryginalna konfiguracja. Zasadą numer jeden dla łatki jest to, że musi ona być mniejsza niż oryginalna MSI lub w ogóle nie ma oczywistego powodu, aby dostarczyć łatkę. Łatka może szybko stać się ogromna, jeśli jest kierowana na wiele wersji produktu.
Rejestrowanie (rzeczywiście pełne)
Instalator Windows zapewnia znormalizowaną funkcję rejestrowania, która jest znacznie lepsza niż poprzednie inkarnacje, choć prawie nadmiernie gadatliwa. Pliki dziennika można odszyfrować za pomocą analizatorów dziennika , a niestandardowych poziomów dziennika można użyć w celu wyeliminowania generowania zbyt dużych plików dziennika z niepotrzebnymi informacjami. Do celów debugowania pełne rejestrowanie jest niezwykle przydatne. Zobacz blog Rob Mensching jest na dobrej drodze do ręcznego odczytać plik dziennika MSI (zasadniczo wyszukiwania dla „ wartości 3 ” w pliku dziennika). Oto przykładowy wiersz polecenia, który wykonuje pełne rejestrowanie:
Ten artykuł autorstwa Roberta Macdonalda z zespołu Instalatora Windows jest wysoce zalecany jako praktyczne spojrzenie na rejestrowanie MSI: Jak interpretować dzienniki Instalatora Windows .
Wniosek
Nie wszystko jest dobre w Instalatorze Windows . Jego złożoność może być czasami zaskakująca , ale w przypadku dużych korporacji pliki MSI są znacznie lepsze niż wszelkie inne formy wdrażania, biorąc pod uwagę powyższą listę korzyści.
Nowy paradygmat instalatora (ogromna instrukcja SQL)
Aby zrozumieć nowy „ paradygmat ”, ważne jest, aby zrozumieć, że MSI ma służyć jako deklaratywny opis tego, co się wydarzy w systemie docelowym, a nie ustaloną sekwencję zdarzeń. Podejrzewam, że można to traktować jako ogromną instrukcję SQL . Na przykład deklarujesz elementy, które chcesz dodać lub zmodyfikować w pliku INI. W trakcie instalacji zmiany są śledzone, a wycofywanie jest dostępne, dzięki czemu zmiany można cofnąć w przypadku niepowodzenia instalacji. To naprawdę działa jak „ automagic ” i jest niezawodne, jeśli zrobione dobrze.
Działania niestandardowe (zwykli podejrzani)
Jest to ogromny ból głowy dla doświadczonych programistów MSI zobaczyć ludzi polegać na kompleksie, nierzetelne działania niestandardowe dla funkcji, które są lepiej realizowane z wbudowanych funkcji MSI. Znaczna część wszystkich błędów MSI i problemów z wycofywaniem jest spowodowana błędnymi niestandardowymi działaniami, a większość innych błędów jest spowodowana błędnym użyciem projektu MSI (osobna lista zawiera listę typowych błędów MSI).
Oprócz wbudowanych funkcji MSI, coraz więcej niestandardowych funkcji jest teraz dostępnych za pośrednictwem nowego frameworku, takiego jak Wix - XML sposób kompilacji plików MSI, więc w przypadku większości operacji coraz mniej potrzebna jest złożona logika niestandardowych działań.
MSI oferuje pełne wsparcie dla obsługi łączenia ustawień plików ini, czcionek, zmiennych środowiskowych, kluczy rejestru, informacji COM, skrótów, rozszerzeń plików, warunków uruchamiania, instalacji GAC, ODBC itp.
WIX idzie dalej z obsługą bardzo zaawansowanych funkcji, takich jak rozszerzenia serwera SQL, instalacje i konfiguracja IIS, liczniki wydajności, sprawdzanie DirectX i inne zadania związane z grą, generowanie obrazów natywnych .NET, COM +, sterowniki, reguły zapory ogniowej, rozszerzenia PowerShell, zamykanie aplikacji, zarządzanie użytkownikami, grupami, udziałami i wiele więcej. Nieco zaangażowane, ale znacznie bardziej niezawodne niż własne niestandardowe działania.
Unikaj niestandardowych działań za wszelką cenę, jeśli to możliwe
Aby spróbować spojrzeć z perspektywy: te wbudowane i gotowe rozwiązania są tworzone przez najlepszych dostępnych ekspertów ds. Wdrażania i są testowane przez tysiące, dziesiątki tysięcy, a może nawet miliony użytkowników (w przypadku wbudowanych elementów w MSI samo). Czy naprawdę uważasz, że możesz lepiej wykonywać własne działania? Użycie niestandardowej akcji powinno być rzadkim wydarzeniem i absolutnie konieczne jest osiągnięcie czegoś wyjątkowego dla instalowanego produktu . Musisz także napisać odpowiednie wsparcie wycofania, co jest dość skomplikowane.
Pisanie niestandardowej akcji jest prawie zawsze błędem , ale istnieją prawdziwe przypadki, kiedy naprawdę potrzebujesz elastyczności. Jak zawsze ważne jest, aby dobrze dobierać bitwy. Na początku może to być zabawne zadanie, ale prawdopodobnie napotkasz wiele nieoczekiwanych problemów i zmarnujesz dużo kosztownego czasu. Mam na myśli to bardzo poważnie. Sam napisałem pakiet niestandardowych akcji C ++ do użytku korporacyjnego (aby wyeliminować podatne na błędy niestandardowe akcje VBScript) - nie jest to spacer w parku i chociaż kodowanie może nie być najtrudniejsze na świecie, debugowanie i testowanie oraz podłączenie do rzeczywistego pliku MSI jest niezwykle zaangażowane. Trochę czasu na sprawdzenie, jakie gotowe opcje są dostępne, prawdopodobnie pozwoli zaoszczędzić tygodnie prac programistycznych i przyniesie znacznie większą niezawodność wdrażania.
Użyj sekwencji uruchamiania aplikacji
Bardzo ważną kwestią jest to, że przy uruchamianiu aplikacji powinna nastąpić duża konfiguracja aplikacji, gdy masz przewidywalny kontekst wykonawczy i dobrą obsługę błędów, a nie w konfiguracji, która jest uruchamiana tylko raz i zawiera bardzo skomplikowane personifikację , sekwencjonowanie , warunkowanie i środowisko wykonawcze złożoność .
Twoja konfiguracja nie powinna konfigurować aplikacji, powinna przygotować aplikację do konfiguracji przy pierwszym uruchomieniu . W szczególności twoja konfiguracja powinna zapisać wszystkie ustawienia wymagające podwyższonych uprawnień - pisząc do HKLM, rejestrując usługi, instalując na ścieżkach poszczególnych komputerów i wszelkie inne rzeczy, których aplikacja nie może pisać sama z normalnymi uprawnieniami użytkownika.
Jeśli jesteś programistą instalacji, powinieneś zaoferować udział w kodowaniu sekwencji uruchamiania aplikacji zamiast pisania niestandardowych akcji instalatora . Jeśli nic więcej, aby nie wyglądać, jakbyś próbował przekazać pieniądze komuś innemu. W tej sekwencji uruchamiania możesz napisać znacznie bardziej niezawodny i testowalny kod, który łatwiej jest uzyskać pomoc od personelu kontroli jakości (często nie rozumieją testów wdrażania, a także testów aplikacji).
Ustaw złożoność
Rdzeń złożoności konfiguracji koncentruje się na tym, że błędy kumulują się (zarządzasz procesem dostarczania, a nie tylko szybką ponowną kompilacją), błędy są bardzo trudne do debugowania (brak dostępu do systemów, w których występują błędy) i systemu docelowego stany różnią się pod każdym możliwym względem . Zapoznaj się z tą odpowiedzią, aby dokładniej omówić tę złożoność i sposób, w jaki systemy docelowe mogą się zachowywać w szokujący sposób: Instalator Windows i utworzenie WiX oraz Złożoność wdrażania (patrz w dół).
WiX (najlepsze rozwiązanie MSI do niektórych celów)
Przeczytaj to krótkie wprowadzenie do WiX, aby zapoznać się z opisem nowego sposobu kompilacji plików MSI opartego na XML. Tekstowe pliki źródłowe zapewniają znacznie lepszą kontrolę źródła niż wcześniej. Jest to darmowy zestaw narzędzi open source, który jest wysoce zalecany .
NB : Zobacz gdzie indziej w tym wątku szybki przegląd typowych problemów projektowych z plikami MSI - jest bardzo niekompletny, ale warto go przeczytać. Nie chciałem dodawać tego do tej odpowiedzi, ponieważ nie jest ona w 100% powiązana, ale do użytku w świecie rzeczywistym jest to kluczowy temat.
Niektóre podstawowe informacje MSI dla sys-admins:
(wybacz bezwstydną „promocję” - jest to dla łatwego dostępu i wyszukiwania)
Oto tylko kilka linków do tematów, które mogą być pomocne dla administratorów systemu w ich wysiłkach kontrolowania wdrożenia w swoich sieciach:
Specjalne tematy instruktażowe:
Tematy koncepcyjne / najlepsze praktyki:
źródło
Ta odpowiedź jest w dużej mierze w toku i zawiera ogólny zarys. Dodatki, pytania i aktualizacje są mile widziane. Ta lista nie jest wyczerpująca. Dodaj komentarz z informacjami o kłopotliwych pakietach.
Typowe problemy i wady projektowe widoczne w pakietach MSI
Muszę również ostrzec, że wiele plików MSI zawiera błędy, czasem poważne, ale przeszkolone programy pakujące aplikacje będą w stanie to wykryć iw większości przypadków wyeliminować problem. Dodaję to jako osobną odpowiedź, ponieważ zasadniczo odpowiada na inne pytanie, ale uważam, że ma to znaczenie w tym samym wątku.
Szczegóły techniczne związane z MSI są bardzo skomplikowane . Na poziomie podstawowym chodzi o rozkład plików i ustawień rejestru na komponenty (instalacja atomowa) i funkcje (części aplikacji wybierane przez użytkownika do zainstalowania, na przykład funkcja słownika). Istnieje szereg zasad najlepszych praktyk dotyczących dzielenia komponentów, a błędy w plikach MSI tutaj są liczne. Błędy te są zazwyczaj obsługiwane przez standaryzację korzystania z „głównych aktualizacji”.
Rzeczywista instalacja jest wykonywana w kilku sekwencjach instalacyjnych, niektóre z podwyższonymi uprawnieniami . Wszystkie te rzeczy są zdefiniowane w tabelach baz danych, i tutaj MSI jest strasznie skomplikowane w zrozumieniu i obsłudze. W sekwencjach instalacyjnych rozłożone są akcje standardowe i niestandardowe. Standardowe działania zostały zaprojektowane przez Microsoft i muszą mieć miejsce (sekwencja może być czasami modyfikowana). Akcje niestandardowe są dostępne dla dostawców w celu wykonania niestandardowej logiki nieobjętej przez sam MSI. Mogą być w formie skryptu lub skompilowanej. Niestandardowe akcje mogą być natychmiastowe (uruchamiane jednocześnie, nie powinny zmieniać systemu, ale często tak się dzieje) lub odraczane (zapisywane w skrypcie wykonania, który jest następnie wykonywany jako transakcja, a zatem obsługuje wycofywanie zmian).
Typowe błędy w MSI to (bez szczególnej kolejności - i przedstawiane jako prawdziwy bałagan naprawdę):
Istnieje wiele subtelniejszych błędów i kilka większych, typowych problemów, o których zapomnę.
Sprawdź artykuł dotyczący najlepszych praktyk Instalatora Windows w witrynie MSDN .
źródło
Korzystanie z MSI ułatwia także łatanie (pliki MSP) i uaktualnienia. MSI stosuje koncepcję unikalnych kodów produktów i aktualizacji, co ułatwia cały proces.
Niektóre systemy wdrażania (CA Unicenter Software Delivery to jeden przykład) mogą również zrozumieć MSI w specjalny sposób, co pozwala im na lepszą integrację z systemem wdrażania. Na przykład możesz wprowadzić plik MSI do biblioteki oprogramowania systemu wdrażania, a on automatycznie wykryje różne funkcje produktu i automatycznie zezwoli na znacznie bardziej szczegółowe działania niestandardowe (instalacja lokalna, weryfikacja, naprawa itp.) I rejestrowanie.
Samoleczenie / naprawa to także duży plus dla MSI.
źródło
Zapoznaj się również z plikiem XML Instalatora Windows typu open source , „zestawem narzędzi, który buduje pakiety instalacyjne systemu Windows z kodu źródłowego XML. Zestaw narzędzi obsługuje środowisko wiersza poleceń, które programiści mogą zintegrować z procesami kompilacji w celu zbudowania pakietów instalacyjnych MSI i MSM”. Jest to wykorzystywane przez MS do przygotowania kilku głównych pakietów oprogramowania.
źródło
możesz przeprowadzać transformacje - teoretycznie możesz dużo dostosować, jeśli program został odpowiednio zapakowany przez dostawcę, możesz dokonać w pełni zautomatyzowanego wdrożenia bez interakcji z użytkownikiem końcowym - co jest bardzo pomocne, gdy chcesz ustandaryzować środowisko Windows i mieć więcej niż garść komputerów.
aby zobaczyć, co ludzie robią z msis [lub instalacją nienadzorowaną], odwiedź na przykład tę witrynę i fora.
źródło