2010-12-13 5 views
10

Wdrażam moją aplikację przy użyciu instalatora, który tworzę przy użyciu projektu instalacji i wdrażania w visual studio. Kiedy buduję projekt instalacji, otrzymuję plik .exe i .msi..Net Installer - Różnica między .exe i .msi

Chciałbym poznać różnicę między nimi.

Zauważyłem, że .exe nie może działać bez .msi, ale rewers nie jest tak.

+0

Chciałbym również poznać tę odpowiedź. +1 –

+0

Zawsze też się zastanawiałem! – TabbyCool

Odpowiedz

10

Plik exe to bootstrapper, który instaluje wszelkie wymagane wymagania wstępne, a następnie wywołuje konfigurację, która jest plikiem msi.

można rozpocząć instalację samodzielnie, uruchamiając plik msi, ale nie powiedzie się, jeśli wymagane warunki wstępne nie są zainstalowane (możliwe przykłady: .NET Framework, VC++ redystrybucyjny, nowsza wersja MSI, itp)

Nie powiedzie się, gdy próbujesz uruchomić instalację z bootstrapper (plik exe) i twój msi brakuje, ponieważ zasadniczo zainstaluje wszystkie wymagania wstępne, a następnie spróbuje uruchomić twój instalator (plik msi). Jeśli tego pliku nie ma, nie ma co zacząć.

W zależności od potrzeb aplikacji, podobną techniką byłoby użycie Merge Modules dla wymagań wstępnych aplikacji. Moduł scalania zasadniczo załadowałby wszystkie wymagane komponenty do głównego instalatora, dzięki czemu otrzymasz tylko jeden plik MSI, który zawiera wszystko wewnątrz. Musisz mieć pewność, że każdy używany komponent ma dostępny moduł scalający, jeśli nie będziesz musiał użyć bootstrappera.

1

wierzę pliki MSI są tylko skrypty dla instalacji ze stowarzyszenia będącego Instalatora Windows. Pliki wykonywalne zawijają MSI, tworząc program ładujący, który robi to samo, ale może instalować wymagania wstępne.