Jaka jest główna różnica między plikami instalacyjnymi MSI i EXE?

13

Z pewnością widzimy, że niektóre .exepliki mają zostać wykonane, ale jaka jest inna funkcjonalność plików MSI?

Dhaiwat budh
źródło
Zobacz odpowiedzi poniżej, a może przeczytaj o korporacyjnych korzyściach msi na serverfault.com. W tym artykule szczegółowo opisano, jakie korzyści powinny przynieść pliki MSI.
Stein Åsmul

Odpowiedzi:

7

MSI jest skrótem dla Microsoft Silent Installer, działa w tle .exe.

Jest on używany w GPO, na przykład jeśli chcesz wdrożyć aplikację w zarządzanej przez Ciebie infrastrukturze Windows, musisz utworzyć nową regułę GPO za pomocą MSI, a MSI zostanie zainstalowany na każdym komputerze bez konieczności interwencji użytkownika.

Obiekt zasad grupy jest „obiektem zasad grupy”, który „zapewnia scentralizowane zarządzanie i konfigurację systemów operacyjnych, aplikacji i ustawień użytkowników w środowisku Active Directory”.

Clem
źródło
1
Obiekt zasad grupy jest „obiektem zasad grupy”, który „zapewnia scentralizowane zarządzanie i konfigurację systemów operacyjnych, aplikacji i ustawień użytkowników w środowisku Active Directory”.
RedGrittyBrick
5
... bardziej jak [M] icro [s] oft [I] nstaller. Skąd, u licha, ucichłeś? Nie, MSI nie uruchamiają plików PE w tle (są do tego zdolne , ale to nie jest ich jedyna, a nawet podstawowa funkcja).
Bob
3
The Windows Installer (previously known as Microsoft Installer) is a software component...- Wikipedia . Tak, MSI to instalator MicroSoft, a nie cichy instalator.
Jet
3
Większość tej odpowiedzi jest błędna. Przeczytaj pozostałe odpowiedzi w tym wątku.
Stein Åsmul
Po Microsoft Silent Installerraz pierwszy słyszę ten pełny formularz . Zawsze wiedziałem, że MSI oznacza M ICRO s oft I nstaller`. Czy masz jakieś oficjalne cytaty, które tak mówią?
RBT
11

Co to jest instalator? Cóż, instalator przygotowuje system do uruchomienia programu: instaluje ten program. Podczas tego procesu instalator (w systemie Windows) może kopiować pliki do lokalizacji systemowych, umieszczać skróty, aby go uruchomić, aktualizować biblioteki, usuwać starsze wersje itp. Nie ma uniwersalnego standardu ani formatu instalatora; każdy program, który wykonuje te akcje („instaluje” inny program), może być nazywany instalatorem.

Plik „exe” w systemie Windows jest znany jako przenośny plik wykonywalny i zawiera dowolne instrukcje, natywny kod maszynowy lub kod bajtowy .NET. Nie ma nic w formacie PE, który zidentyfikowałby go jako instalatora. Oczywiście z dowolnym kodem maszynowym możesz napisać instalator - i ci instalatorzy „exe”, których widzisz, przyjmują takie podejście.

Niektóre osoby piszą własne niestandardowe instalatory. Inni używają generatorów instalatorów, aby zaoszczędzić trochę czasu i wysiłku; Należą do nich NSIS, InnoSetup, InstallShield i więcej.

MSI to specyficzny format służący do przechowywania informacji o instalacji, bazy danych o tym, jakie kroki należy podjąć i które pliki umieścić. Sam w sobie nie jest wykonywalny; jest on faktycznie interpretowany przez msiexec.exesystemy Windows. Tłumacz ten wykona następnie kroki określone w pliku MSI. Teoretycznie można utworzyć dowolny plik exe, który korzysta z bazy danych podobnej do MSI (i NSIS, InnoSetup itp., Zrobić coś podobnego).

MSI wyróżnia się tym, że jest wbudowany i interpretowany przez wbudowane narzędzia, a także jest zintegrowany z Active Directory w celu łatwiejszego wdrożenia na wielu komputerach w środowisku korporacyjnym, a odpowiedź Clem obejmuje to bardziej szczegółowo.

Kok
źródło
6

Pliki MSI to pliki bazy danych (w szczególności bazy danych MS-SQL), które opisują instalację za pomocą tabel bazy danych i instalują za pomocą złożonego zestawu sekwencji instalacyjnych zdefiniowanych w samym pliku MSI.

Pliki MSI nie instalują się jako pliki EXE w tle, jak pisze „Clem” - są one pobierane przez silnik Instalatora Windows, który jest dostępny poprzez interfejs wiersza poleceń msiexec.exe . Lub może wypróbować adnotowane próbki wiersza polecenia msiexec.exe Advanced Installer . Następnie sama instalacja jest uruchamiana za pomocą dwóch różnych sekwencji: sekwencji interfejsu użytkownika i faktycznej sekwencji instalacji - ta ostatnia działa w kontekście systemu przy użyciu konta LocalSystem . Takie ustawienie jest konieczne, aby zezwolić instalatorowi na tymczasowe uprawnienia administratora lub podwyższone uprawnienia, co jest właściwym terminem.

Instalatory EXE mogą być dowolne. Najczęściej są to instalatory oparte na skryptach w starszym stylu, które nie są oparte na bazach danych, ale plik EXE może być również opakowaniem zawierającym pliki MSI i powiązane komponenty środowiska wykonawczego. Wszystko zależy i musi zostać zbadane w każdym konkretnym przypadku.

Stein Åsmul
źródło