Instalatorzy: WIX czy Inno Setup?

Porównuję te dwa narzędzia. Mam wrażenie:

    Inno Setup nie produkuje MSI, ale może zrobić wszystko, co może zrobić WIX]} [[3]}WIX produkuje MSI, ale ma stromą krzywą uczenia się [4]}

Czy zgadzasz się z tą charakterystyką? Jakie są inne różnice? W jaki sposób WIX# wstrząśnie tą historią? Ponieważ Inno Setup nie używa Instalatora windows, czy ma problemy z deinstalacjami? Może Inno Setup, na polecenie, downgrade an instalacja do wcześniejszej wersji - czy może to tylko instalować / aktualizować aplikacje?

Author: Brent Arias, 2011-06-05

5 answers

Dawno nie pracowałem z MSI, kiedy przełączyłem się na InnoSetup nigdy nie oglądałem się za siebie.

Nie chciałem, aby moja instalacja była bólem głowy. Potrzebowałem czegoś, co mógłbym "ustawić i zapomnieć"

Domyślnie InnoSetup generuje deinstalację. Może obsługiwać proste lub złożone potrzeby instalacji i deinstalacji.

Z InnoSetup masz kilka różnych sposobów na ulepszanie aplikacji.

  • początkowo użyliśmy metody nadpisywania które nieco nadwyrężają istniejącą instalację.
  • Ostatnio przełączyliśmy automatyczną deinstalację poprzedniej wersji, gdy nowa wersja została zainstalowana.

Z InnoSetup downgrades są zazwyczaj odinstalować i ponownie zainstalować starszą wersję.

 43
Author: Robert Love,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-25 19:13:40

Masz rację co do części MSI nie MSI i masz rację, że krzywa uczenia się MSI jest bardziej stroma. Ale obie mają cechy, których inni nie mają. pozwolę sobie zacytować Glytzhof o zaletach MSI.

Glytzkof pozdrawia; -) . Proszę o przeczytanie moich oryginalnych odpowiedzi na serverfault.com podsumowanie typowych problemów z MSI wynikających z jego stromej krzywej uczenia się. Ta odpowiedź skupia się tutaj na teoretycznych korzyściach, inna odpowiedź (w tym samym wątku) podsumowuje typowe problemy MSI z głowy. Dodatki są bardzo mile widziane - właśnie dodałem najczęstsze problemy.

  • Transparency (Open installer format) - MSI można przejrzeć i sprawdzone. To jest ogromny problem dla duże korporacje. Z wyjątkiem skompilowanych działań niestandardowych plik MSI to "białe pudełko". Jeśli konfiguracja ulegnie zmianie coś szalonego takiego jak systemowych ustawień sieciowych, można właściwie to widzę.
  • [[5]}Możliwość dostosowania - MSI można dostosować za pomocą transforms, aby pasował do potrzeby i standardy organizacji jednocześnie pozwalając na interoperacyjność z aktualizacjami instalatora dostawcy. Nie zmieniasz samego instalatora, tworzysz swoją personalizację w oddzielny plik specyficzny dla organizacji nazywa się transformacja. Jesteś wolny wyłącz niestandardowe akcje i ogólnie wszystko w instalatorze, a " czarny box " działania niestandardowe mogą być zatwierdzone przez kontaktując się ze sprzedawcą w celu wyjaśnienia. Te pliki transformacji są również czasami używane do lokalizacji pliku MSI do różnych języków. Kilka transformaty mogą być stosowane do jednego MSI.
  • standaryzacja - MSI nie nadaje się do "zezwalania na cokolwiek". Informatyka zapewnia kompleksowe ramy dla instalatora, który przede wszystkim zawiera deinstalację-wszystko w standardowy format. GUI instalatora jest również standaryzowane z wbudowanym funkcje obsługujące ciche instalacji i deinstalacji, które może być uruchomiony zdalnie.
  • Zarządzanie i raportowanie - Instalator Windows utrzymuje kompleksowa baza danych wszystkich pozycji a produkt został zainstalowany. Możesz niezawodnie określić, czy produkt jest zainstalowane, jakie funkcje były zainstalowanych, oraz jakie wersje plików były zainstalowany. Ponadto można uzyskać lista łatek, które zostały stosowane do produktu podstawowego, jeśli występuje.
  • Bezpieczeństwo - wynika z obszernej bazy instalacyjnej it możliwe jest wykrycie bezpieczeństwa luki w zainstalowanym produkty. MSI obejmuje również "podwyższone prawa" zasady, które pozwalają ograniczonemu użytkownikowi wyzwalać instalacji produktu, który wymaga uprawnienia administratora do instalacji. To jest część " funkcji reklamowej" co pozwala administratorowi na instalatorów dostępnych dla użytkowników bez faktycznie instalując je na wszystkich stacje robocze. Nie ma potrzeby bałaganu z tymczasowymi prawami Do Rzeczy pracuję.
  • Validation - pliki MSI można sprawdzać z regułami validation do upewnij się, że jest on zgodny z liczba wewnętrznych zasad spójności (zwany lodem). Korporacje mogą tworzenie własnych kontroli lodu w celu egzekwowania specjalne zasady korporacyjne i wymagania. To bardzo pomaga w QA.
  • Resiliency - funkcja Admin install Instalator Windows zapewnia standardowy sposób wyodrębniania pliki źródłowe z MSI. Te źródła pliki można następnie umieścić na udostępnionym i być dostępne dla wszystkich stacji roboczych dla instalacja. Zapewnia to naprawę, odinstaluj i zmodyfikuj operacje kompletne bez konieczności składania wniosku o nośnik instalacyjny na płycie CD lub podobnej. Jest to szczególnie ważne dla operacje łatania i aktualizacji, które może wymagać dostępu do starych wersji pliki źródłowe w szczególnych okolicznościach.
  • Rollback - Instalacja pliku MSI normalnie wywoła utworzenie punktu przywracania. Ponadto wszystkie pliki i rejestr elementy wymienione lub nadpisane podczas instalacja zostanie zapisana i przywrócone, jeśli instalacja nie kompletna. Zapewnia to, że stacja robocza pozostaje w stanie stabilnym nawet jeśli instalacja nie powiedzie się. Jako można się spodziewać źle zaprojektowanego MSI pliki mogą naruszać wbudowane funkcje Windows tutaj, zobacz moje inne post in ten wątek po więcej szczegółów.
  • Patching & Updates - choć bardzo skomplikowane łatanie w Windows instalator jest w pełni zarządzany i zarejestrowany w systemie, tak aby stan bezpieczeństwa systemów może być określone przez sprawdzenie, co zostało zainstalowany. Aktualizacje są standaryzowane do kilka podstawowych wariantów, a to pozwala aktualizacje do wykonania z wyższym stopień pewności. Wdrożenie systemy będą mogły zgłaszać co aktualizacje nie powiodły się i dlaczego.
  • Logging - Instalator Windows zapewnia standardowe logowanie cecha, która jest znacznie lepsza od poprzednie wcielenia, choć prawie nadmiernie gadatliwy. Pliki dziennika mogą być rozszyfrowane za pomocą analizatorów logów oraz niestandardowe poziomy dziennika mogą być używane do wyeliminowanie generowania zbyt dużego dziennika pliki z niepotrzebnymi informacjami. Do celów debugowania jest niezwykle przydatny. Zobacz też Blog Roba Menschinga dobry ręczny sposób czytania Dziennika MSI plik.
 30
Author: Lars Truijens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-13 12:13:44

Spóźnię się na odpowiedź na ten wątek. Od lat używam Inno Setup do produktów mojej firmy. Większość rzeczy robi bardzo dobrze, ale największą przeszkodą dla mnie są niestandardowe działania. W Inno Setup należy użyć wariantu języka Pascal. Dzięki zestawowi narzędzi WiX mogę i mogę używać C# do moich niestandardowych działań, co jest dla mnie o wiele wygodniejsze. Co prawda, jest to osobiste preferencje, ale jest to główny powód, dla którego przerzuciłem się z doskonałej Platformy Inno Setup NA również doskonała platforma WiX. To, oraz fakt, że było tak wiele korzyści z korzystania z Msi, które zostały już wymienione w innej odpowiedzi.

[[0]}szczerze mówiąc, dla mnie krzywa uczenia się Pascala była większa niż w przypadku WiX za pomocą książki, WiX 3.6: A Developer ' s Guide to Windows Installer XML .
 7
Author: Mike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-25 12:24:41

Zintegrowaliśmy oba z naszym systemem budowania.

Ale zdecydowaliśmy się promować pliki innosetup exe dla klientów nie biznesowych i msi tylko na żądanie z jednego prostego powodu.

Nie można wysyłać wielolokalizowanej wersji programu instalacyjnego za pomocą MSI. Potrzebujesz jednego instalatora dla każdego języka, a to jest do bani. Nie może być jakiś ciężki hacking pozwalający przepisać cały GUI, ale to nie jest dobrze udokumentowane i nie open source do kradzieży i dużo pracy.

The GUI jest najgorszą częścią WiX, która w przeciwnym razie jest technicznie lepsza od Innosetup.

Z Innosetup łatwo jest wysłać jeden exe w 5 językach. Mamy już 6 binariów [Free ,Home, Pro-każdy 32/64bit] , więc wybuch wariantu byłby po prostu ogromny i jeśli sprzedasz japońską wersję z japońską stroną internetową, a pierwszą rzeczą, która pojawia się, jest instalacja tylko w języku angielskim, to jest złe wrażenie.

MSI dla użytkowników biznesowych, którzy potrzebują Polis grupowych itp. jest tylko po angielsku i to jest w porządku dla użytkowników biznesowych.

 3
Author: Lothar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-17 12:51:31

Zdaję sobie sprawę, że ta odpowiedź przychodzi bardzo późno. Ale wpadłem na ten post i pomyślałem, że jedna odpowiedź na pytanie może być po prostu: "dlaczego nie mieć obu?"(jeść ciasto i mieć go też), a także " po co poświęcać wysiłek na wdrożenie obu, kiedy mogłem po prostu wydać wysiłek na jeden i dostać drugi za praktycznie za darmo?"

W tym celu przedstawiam skrypt Inno Setup w / MSI wsparcie:

Https://github.com/cubiclesoft/php-app-server/blob/master/installers/win-innosetup/yourapp.iss

Są tutaj używane niestandardowe funkcje Pascala, które uruchamiają się po przekazaniu /MSI={GUID} w wierszu poleceń, które uruchamiają przydatne zmiany w skrypcie (np. brak ikony odinstalowania w programie Start lub Dodaj/usuń programy).

I przedstawiam skrypt WiX z obsługą powyższego Inno Setup skrypt:

Https://github.com/cubiclesoft/php-app-server/blob/master/installers/win-wix/yourapp.wxs

Skrypt WiX owija instalator Inno Setup-based EXE (jedyny ładunek) w sposób, który uruchamia skrypt Inno Setup, aby robić rzeczy w sposób bardziej kompatybilny z MSI i wykręca MSI. Nie jest to idealne rozwiązanie, ale pozwala zaoszczędzić mnóstwo czasu, pozwalając robić rzeczy w sposób Inno Setup, a następnie uzyskać większość korzyści płynących z MSI (np. GPO/SCCM / DSC Silent deployment) bez ciągnięcie za włosy. To działa najlepiej, jeśli głównie po prostu wdrażanie plików do systemu i garść wpisów rejestru(tj. Nie polecałbym tego podejścia do większej aplikacji, w której jest wiele, wiele komponentów, ale jeśli spróbujesz i zadziała, daj mi znać! Posiadanie wersji MSI, która uruchamia Inno Setup EXE, przynajmniej daje administratorom robiącym wdrożenia coś rozsądnego do żucia.

Zauważ, że skrypt WiX zależy od niestandardowych funkcji Pascala na Inno Ustaw stronę rzeczy. Nie możesz po prostu wziąć instalatora ol' Inno Setup i owinąć go skryptem WiX i oczekiwać, że zadziała (prawdopodobnie nie). Ale może przyszła wersja Inno Setup natywnie będzie wspierać coś podobnego.

 0
Author: CubicleSoft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-03 03:40:11