Zainstaluj oprogramowanie: wybierz .msi lub .exe?

34

Niektóre witryny z oprogramowaniem pozwalają na pobranie oprogramowania do zainstalowania jako plik .msi lub .exe. Po wybraniu opcji, którą należy pobrać do zainstalowania oprogramowania, tj .: jakie są zalety korzystania z pliku .msi zamiast instalatora (.exe)?

Rozumiem różnicę między nimi, ponieważ plik .msi jest pakietem instalacyjnym, który zostanie przetworzony przez plik wykonywalny instalatora systemu Windows. Plik .exe to plik wykonywalny zawierający instalator i pliki instalacyjne. Ale jaka jest prawdziwa korzyść z wyboru .msi zamiast .exe. Ostatecznie wynik jest taki sam. Albo nie?

Rabarberski
źródło
3
Zasadniczo system Windows zajmuje wieczność, czy zwykle używam plików .exe dla mniejszych pakietów oprogramowania, które szybko instalują się same.
Zielona Żaba
1
W Stackoverflow pojawia się pytanie dotyczące podobnych linii: frameworki instalacyjne aplikacji Windows . Myślę, że ma dla ciebie dobre strony.
nik
7
„Zasadniczo Windows zajmuje wieczność, aby robić rzeczy”? Odważne i nieprawdziwe stwierdzenie, jeśli kiedykolwiek je widziałem.
caliban
2
Pliki MSI mają wiele zalet do użytku korporacyjnego: zalety wdrażania MSI
Stein Åsmul,

Odpowiedzi:

22

Zwykle pakiety msi są dostarczane administratorom systemu, którzy będą musieli wdrożyć oprogramowanie na kilku terminalach w sieci.

Rezultaty nie różnią się od używania pliku wykonywalnego, ale pakiety msi czasami mają dodatkowe opcje, takie jak przeprowadzanie cichych lub wstępnie skonfigurowanych instalacji.

Jeśli nie jesteś administratorem systemu, użyj pliku wykonywalnego.

kaliban
źródło
4
Plik wykonywalny jest często mniejszy ze względu na lepszą kompresję, ale zwykle zawiera i zawija msi, automatycznie rozpakowuje go i uruchamia instalację w trybie interaktywnym / użytkownik wybiera tryb opcji ...
Oskar Duveborn 9.09
5
Pliki MSI są nie tylko dla administratorów systemów - choć z pewnością są przez nich wykorzystywane; Odkryłem, że są one bardziej usuwane podczas odinstalowywania niż ich bracia EXE (i nie - nie wiem dlaczego)
ostrzega
1
MSI nie są bezpieczniejsze, ponieważ .exe może być czymkolwiek, ale .msi jest zdecydowanie pakietem instalatora?
Dave Cousineau
@Sahuagin Może to być pakiet instalatora, który instaluje złośliwe oprogramowanie.
thameera
1
@thameera nadal wydaje się dużą różnicą. czy MSI nie ma czarodzieja, podczas gdy exe po prostu wykona polecenie? czy msi nie będzie automatycznie odinstalowywalne?
Dave Cousineau
5

Pliki MSI są relacyjnymi bazami danych wykorzystywanymi przez usługę instalacyjną Microsoft. Ta usługa instaluje aplikacje na komputerze. Pliki MSI oferują znacznie większą elastyczność instalacji i konserwacji aplikacji, niż mogłyby to zapewnić starsze skrypty programów wykonywalnych, dlatego pliki MSI są obecnie zalecaną metodą instalacji w systemie Windows.


źródło
3
Jak to sugeruje, że MSI są zalecaną (czytaj: najlepszą) metodą?
hasen
3

Nie ma rzeczywistej przewagi .exe nad .msi poza tym, że używasz Winrar (lub niektórych innych), zwykle możesz wyodrębnić wszystkie pliki z pliku .msi, bez potrzeby instalowania czegokolwiek.

William Hilsum
źródło
Miałeś na myśli .exe w drugim zdaniu? Ponieważ rozpakowane pliki .exe zwykle mają czystszą strukturę plików niż pliki .msi (oba faktycznie można otworzyć w menedżerze archiwów).
użytkownik
1

Czasami, szczególnie podczas instalowania aplikacji .NET, jest plik Setup.exe i .msi. W przypadku .NET program Setup.exe może sprawdzić, czy system ma zainstalowane wszystkie odpowiednie wymagania wstępne (takie jak .NET Frameowork itp.) Do uruchomienia aplikacji.

Jeśli system nie spełnia jednego z tych wymagań wstępnych, może poprosić Cię o zainstalowanie go przed uruchomieniem aplikacji, co może zaoszczędzić na pomyślnej instalacji aplikacji, ale potem nie uruchomi się z powodu brakującej biblioteki lub frameworka.

Jeśli masz wszystkie wymagania wstępne, plik Setup.exe po prostu uruchamia plik .msi

Millhouse
źródło
Więc mówisz, że msi nie może sprawdzić wymaganego oprogramowania i poprosić użytkownika o jego zainstalowanie?
Rabarberski
2
MSI może sprawdzić wymagane oprogramowanie, byłoby to trochę bardziej skomplikowane w kodzie. W zależności od narzędzi użytych do instalacji instalatora, Setup.exe może zostać automatycznie wygenerowany przez niektóre narzędzia programistyczne MS, ułatwiając koderowi życie. Oto kilka szczegółów, które mogą pomóc: msdn.microsoft.com/en-us/magazine/cc163899.aspx
Millhouse
1

Wśród innych subtelnych różnic:

Pojedynczy plik MSI może mieć tylko jedną lokalizację dla kreatora instalacji ( szczegóły ).
Może to być powodem dystrybucji aplikacji jako .exe, która jest bardziej elastyczna.

Jeśli więc język kreatora instalacji jest ważny, możesz mieć więcej szczęścia z plikiem .exe

Nicolas Raoul
źródło
Jestem pewien, że jest to główny oczywisty powód i jest sprzeczny z powyższymi sugestiami, że sysadmini go używają! Z globalnymi devops, sysadmins ma większy sens, aby pobrać exe. Darn MS za to, że wszystko jest tak mylące.
killjoy
0

Osobiście wolę .zip (lub ekwiwalentny), jeśli jest dostępny. Mogę wyodrębnić go tam, gdzie chcę, aby dokładnie wiedzieć, co zmieniło się w moim systemie (ponieważ to ja go zmieniłem).

Idealną sytuacją byłby przenośny program.

Chociaż gdybym musiał wybierać między exe a msi, wybrałbym exe. Właśnie dlatego ..

Zwykle pliki msi spędzają dużo czasu na bezużytecznym wyszukiwaniu konfiguracji i tym podobnych. exe też może to zrobić, ale raczej exe po prostu wypakuje gdzieś pliki i zainstaluje skróty w menu Start.

hasen
źródło
-2

IMHO, MSI jest bezpieczniejszy w tym sensie, że po zainfekowaniu wirusem pliki exe mogą zostać zainfekowane, ponieważ jednym ze sposobów, w jaki wirus rozprzestrzenia się, jest zatrzaśnięcie kodu w plikach wykonywalnych. Rzadziej robią to z plikiem MSI.

Wilson
źródło