Jakiego produktu instalacyjnego użyć? InstallShield, WiX, Wise, Advanced Installer, etc [zamknięty]

Obecnie prowadzę dochodzenie w sprawie odejścia od pakietu instalacyjnego, którego obecnie używamy (Wise Installer 9) i przejścia do czegoś, co będzie obsługiwać takie rzeczy, jak Windows Vista, Windows 7 i systemy 64-bitowe. Lokalizacja instalatorów byłaby korzystna, ponieważ mamy również wielu francuskich klientów Kanadyjskich.

Obecnie posiadamy instalacje dla pakietów oprogramowania i narzędzi w następujących technologiach:

  • Progress 4GL
  • Visual Studio 2005
  • Visual Studio 2008
  • . NET Compact Framework 3.5

Przejrzałem już WiX i InstallShield , a także Altiris dokonał wymiany dla starego systemu Wise.

Nie grałem jeszcze z InstallShield zbyt wiele, ale z tego co widziałem / zainstalowałem, wydaje się to być jednym z faworytów branży. Przejrzałem niektóre znaczniki przepełnienia stosu związane z InstallShield i jestem ciekaw zobaczyć, co grupa o tym powie.

Czy domyślnie do nich chodzę? Jak dobry jest WiX w non-.NET rzeczy?

Author: Peter Mortensen, 2009-10-09

5 answers

Aktualizacja, sierpień.2018, nowa i krótsza opcja: Jak utworzyć Instalator windows. Koncentruje się na podsumowaniu MSI and its major benefits i wymienić major tools available (z linkami do pobrania), jak a także mentioning some new, trending deployment technologies.


Pracowałem w tworzeniu oprogramowania jako release manager, inżynier budowy, setup developer oraz jako pakiet aplikacji , SOE engineer i deployment engineer (SCCM) w dużych korporacjach.

Po drodze używałem większości głównych narzędzi do pakowania (niektóre w wielu różnych wersjach): InstallShield, Wise (niestety poza rynkiem), WiX, zaawansowany Instalator (tylko testowanie), Orka i przetestowałem Inne narzędzia (link do "Windows Installer Authoring Tools for Developers " Z http://www.installsite.org [[9]} - dość wyczerpująca lista narzędzi). Korzystałem również z mniej popularnych narzędzi do pakowania i wdrażania, takich jak Computer Associates Unicenter-prawdopodobnie już nie jest dostępny na rynku. Istnieje również strona Non-MSI Setup Authoring Tools.

UPDATE: Jeśli potrzebujesz narzędzia MSI do porównywania dwóch wersji plików MSI lub po prostu do wyodrębniania informacji z pliku MSI, możesz przeczytać tę odpowiedź: Jak mogę porównać zawartość dwóch (lub więcej) plików MSI?[[9]} (koncentruje się na darmowych narzędziach MSI).

Ten post zawiera przegląd mocnych stron niektórych różnych narzędzi do tworzenia , a także niektórych błędów, których należy pamiętać . Ze względu na wszystkie podobieństwa, narzędzia te są w rzeczywistości zupełnie inne. Podjęto wszelkie próby, aby opisy były jak najbardziej obiektywne - opisywały doświadczenia świata rzeczywistego z pozytywami i negatywami.


Related Deployment Tematy

  • zanim przejdziemy do przeglądu różnych narzędzi, oto kilka innych linków z informacjami na temat samej technologii MSI.
  • Oto ogólny opis zadań wdrożeniowych często wspierane w narzędziach wdrożeniowych oraz opis, dlaczego wdrażanie wydaje się być coraz bardziej skomplikowane.
  • Wiele osób uważa, że MSI to więcej kłopotów niż jest warte, a czasami może to być zrozumiałe. Korzyści są realne-szczególnie w przypadku wdrożeń korporacyjnych, ale także niektóre problemy.

InstallShield

  • bogaty w funkcje.
  • zawsze na bieżąco z najnowszymi technologiami.
  • (Setup) programista zorientowany.
    • dostępne różne wersje.
    • [82]}flagowy produkt AdminStudio zapewnia zarówno narzędzia konfiguracyjne zorientowane na programistów, jak i narzędzia zorientowane na przepakowywanie.
  • Bardzo dobry Zarządzanie wydaniem, Lokalizacja i funkcje automatyzacji do automatyzacji procesu budowania. Przynajmniej lepiej niż konkurenci.
    • dla złożonych produktów Zarządzanie wydaniami jest być może głównym punktem sprzedaży InstallShield. Możesz z łatwością dostarczać smaki wszelkiego rodzaju: wersje językowe, wersje oem, przeglądarki, edycje aplikacji itp... używanie znaczników release i podobnych konstrukcji.
    • flagi Release są zasadniczo używane do warunkowego wykluczenia lub włączenia pewnych części produkt z każdej skompilowanej konfiguracji-jest to często duża część tego, o co prosi się przy tworzeniu profesjonalnych rodzin konfiguracji.
    • widok wydania w Installshield umożliwia pełny przegląd wszystkich typów konfiguracji i wersji. Możesz zobaczyć wszystkie wersje językowe i wydać konfiguracje dostarczane dla sieci web (jeden duży plik instalacyjny) lub do redystrybucji mediów (zewnętrzne pliki źródłowe) i dowolne inne smaki, które dostarczyłeś.
      • dla każdego wydania i edycji możesz zastąpić ważne ustawienia , takie jak nazwa produktu, Wersja produktu, kod pakietu, produktu i aktualizacji, a także wiele innych wymaganych ustawień, które muszą dynamicznie zmieniać się w zależności od wersji produktu i wersji językowej.
      • w wielu innych produktach tego typu zarządzanie wydaniami i edycjami może być znacznie trudniejsze do wdrożenia. W przypadku prostszych konfiguracji ten rodzaj elastyczności może być mniej ważny.
    • Automatyka API dla produktu pozwala na łatwe " zdalnie sterowane" z budowanie skryptów automatyzacji różnych typów.
      • istnieją również Moduły budowania linii poleceń (do użytku na dedykowanych serwerach budowania).
      • pełna automatyzacja kompilacji całego pakietu produktów i wersji jest łatwo możliwa przy użyciu zwykłej automatyzacji VBScript / VBA / Javascript.
    • Pełna obsługa lokalizacji z tabel ciągów używanych do obsługa różnych języków konfiguracji.
      • podstawowe okna dialogowe są również gotowe w wielu językach (za dodatkową opłatą).
      • musisz tylko zlokalizować własną zawartość konfiguracji (podpisy listy funkcji, dowolne niestandardowe okna dialogowe lub pola wiadomości, obrazy z tekstem itp...)- nadal dużo pracy.
      • możesz dostarczyć ogromną wielojęzyczną konfigurację. Nie jest to zalecane z mojego doświadczenia z z kilku powodów (przeczytaj sekcję lokalizacja). Najgorszym problemem jest to, że ty musi zlokalizować wszystkie nowe i zmienione treści we wszystkich językach, zanim będzie można dostarczyć wersję angielską. Jest to prawie nigdy nie do przyjęcia dla marketingu / sprzedaży. I zawsze są poprawki, które wymagają odbudowania i ponownego wydania jednego języka, a następnie chcesz to zrobić bez UAT i QA dla wszystkich innych języków. Lepiej jest zapewnić osobne buildy dla każdego języka (łatwo zaimplementowane).
  • dobre wsparcie społeczności: społeczność użytkowników Fora.
  • całkiem dobry GUI, zwykłe rzeczy są dość łatwe.
  • pełny edytor MSI-GUI.
      Bardzo potężne. Trochę skomplikowane.
  • [82]}ograniczenia podstawowych funkcji GUI technologii MSI powodują pewne problemy i irytujące ograniczenia, ale jest to takie samo dla wszystkich narzędzi wdrożeniowych.
  • główną przyczyną jest to, że MSI GUI jest zaimplementowany przy użyciu tabel danych wewnątrz samego pliku MSI, a to powoduje poważne ograniczenia w odniesieniu do okna dialogowego zdarzenia w porównaniu do pełnego "modelu zdarzeń" dla odpowiednich okien dialogowych Win32.
  • w pełni funkcjonalny język skryptowy w stylu C do niestandardowych działań o nazwie " Installscript".
    • Installscript kompiluje się teraz do natywnego-lub emulowanego z własnym piaskownicy, Nie wiem, który. Nie ma potrzeby instalowania runtime tak jak wcześniej.
    • nawiasem mówiąc, to środowisko uruchomieniowe było źródłem dość kłopotliwych problemów z wdrożeniem ze względu na korupcja runtime - pozornie często związana z DCOM - i różne niezgodności między różnymi wersjami runtime. Oto kilka linków do rozwiązywania problemów dla " starszych celów":
    • chociaż czas trwania był bardzo problematyczny źródło błędów, wszystkie powiązane problemy zostały rozwiązane całkowicie od Installshield 12 i Później.
  • ładnie zintegrowana pomoc w GUI .
      Bardzo ważne dla tak trudnej technologii.
  • często bardzo pomocne-szczególnie w przypadku częstych zadań.
  • domyślny format przechowywania plików binarnych nie pozwala na rzeczywistą kontrolę źródła lub rozgałęzianie (w przeciwieństwie do WiX, który dostarcza to po wyjęciu z pudełka). Myślę, że istnieje sposób na przechowywanie projektu w formacie tekstowym, ale nigdy go nie używałem. Nie wiem, czy to będzie skuteczne.
  • bez cienia wątpliwości, zdecydowanie Najbrzydszy ze wszystkich produktów instalacyjnych.
    • w uczciwości większość błędów odnosi się do specjalnego typu projektu " Installscript MSI ", który implementuje niestandardowy model okna dialogowego dla konfiguracji MSI (zamiast natywnego, tabelkowego GUI, który jest tłumiony).
    • innymi słowy, typ projektu Installscript MSI nie wolno stosować w żadnych okolicznościach. Weź to sobie do serca, jeśli nadal ich używasz - są szczególnie trudne do poprawnego uaktualnienia(pierwsze wdrożenie może być OK, ale Aktualizacje się psują). Inne rodzaje projektów wydają się działać dobrze.
    • po porzuceniu Installscript MSI (co większość ludzi wydawało się robić), narzędzie działało całkiem dobrze dla mnie osobiście(nie wolne od błędów).
  • byłem Nie zadowolony ze wsparcia dla wdrożenia IIS strony i COM + aplikacje. Musiałem wybrać elastyczność i możliwość dostosowania WiX zamiast łatwości obsługi Installshield. Po prostu nie było wystarczającej elastyczności i kontroli.
  • Wsparcie dla Microsoft App-V virtual packages i nowych technologii wirtualizacji.
    • pozwala na kilka nowych rzeczy w porównaniu do normalnej aplikacji.
    • streaming aplikacji-Brak lokalnej instalacji na maszynach-JIT.
    • użyj dwóch niekompatybilne oprogramowanie na tym samym komputerze.
    • Aktualizacja przez serwer.
    • Licencja kontrolna-Maksymalna liczba jednoczesnych użytkowników lub powiązanie oprogramowania z grupą / użytkownikiem.
    • zaprezentuj aplikację szybko i łatwo użytkownikom.
    • więcej marketingu Microsoft tutaj .

  • Wise

    Wise jest oficjalnie na emeryturze, ale już wcześniej został wskrzeszony. Niestety niektóre kwestie prawne z tego co wiem, mogło być ostateczne . Szkoda by było tak wielkiego narzędzia. Został przejęty przez Altiris, a następnie Symantec. Obecnie wydaje się być [325]}poza rynkiem . Nadal odchodzę w podsumowaniu dobrych mądrych cech:

    • szybki i łatwy i dość bogaty w funkcje.
      • Bardzo dobra łatwość obsługi, doskonały zestaw funkcji.
      • brak niektórych (bardzo) zaawansowanych funkcji, takich jak IIS, zaawansowane zarządzanie wydaniami, itd...
    • administrator / Repackager zorientowany.
      • mniej skoncentrowany Kod niż Installshield.
      • wyjątkowo wydajny i elastyczny graficzny edytor skryptów.
      • dobrze zaprojektowany interfejs konfiguracyjny konfiguracji.
    • doskonałe również dla małych zespołów programistycznych poszukujących szybkiego i stosunkowo łatwego sposobu wdrożenia aplikacji.
    • czasami nieco opóźnia się z najnowszymi technologiami (w porównaniu do Installshield), ale stosunkowo "wolne od błędów".
    • intuicyjny GUI, wspólne rzeczy są (bardzo) łatwe.
    • Bardzo dobra obsługa konfiguracji sekwencji instalacji i niestandardowych akcji w edytorze stylu skryptowego. Więcej skryptów GUI, mniej kodowania.
    • solidna Skała , bardzo mało znaczących błędów.
    • zasoby pomocy i wsparcie społeczności nie dorównują InstallShield, ale nadal są dobre.
    • moje narzędzie do debugowania i prototypowania (szybkie, stabilne, łatwe w użyciu, świetne funkcje diff).
    • oraz w odniesieniu do funkcji diff (pozwalających na binarne porównanie dwóch plików MSI).
      • żadne inne narzędzie, którego próbowałem, nie zbliżyło się do Wise do binarnych różnic różnych plików MSI.
      • łatwość użycia i przejrzystość przeglądarki diff była nie mniej niż fantastyczna.
      • w przypadku opakowań korporacyjnych takie różne funkcje mogą być bardzo krytyczną częścią pracy, ponieważ masz setki lub nawet tysiące różnych pakietów oprogramowania do zarządzania w wielu różnych wersje.
    • na subiektywna uwaga : Moje ulubione narzędzie do pakowania. Bardzo wiarygodne.
        [82]}szkoda, że narzędzie nie jest już dostępne.
    • zawsze możemy mieć nadzieję na "reinkarnację" (widziałem fragmenty GUI, które wyglądają jak mądre w niektórych innych narzędziach).

    WiX

    • dużym plusem są pliki źródłowe tekstu . Nie ma potrzeby przechowywania źródła jako pliku binarnego tam, gdzie jest prawie niemożliwe do śledzenia zmian i zrobić właściwą kontrolę wersji.
      • odpowiednie źródła tekstu stanowią różnicę dla zespołów programistycznych pod względem rozgałęzień , wersjonowanie i scalanie. Jest to skok kwantowy (moim zdaniem szczególnie w przypadku rozwoju wewnętrznego w dużych korporacjach-gdzie Proces jest złożony, zwrot jest szybki i jest wielu deweloperów).
      • potrzeba i użycie plików źródłowych tekstu było kluczowe dla stworzenia WiX zestaw narzędzi. Oto szybka i niekompletna "Historia WiX" Więcej Szczegółów. Polecam przeczytać, aby zrozumieć podstawy i uzasadnienie dla WiX.
      • niektóre narzędzia wdrożeniowe, które przechowują instalator jako pliki binarne, mogą skończyć się w sytuacjach, w których źródło binarne wykazywałoby tajemnicze problemy, których nie można by właściwie wyśledzić.
        • stało się to szczególnie po aktualizacjach narzędzi, które również zaktualizowały format w źródle (za cokolwiek powód).
        • uaktualnienia często wpływają na dziesiątki tabel i setki rekordów, co sprawia, że skuteczne wyśledzenie prawdziwego problemu jest niemożliwe.
        • objawy obejmowały takie rzeczy, jak nagły początek powolnych kompilacji, nagła powolna prędkość instalacji, niewytłumaczalne błędy kompilacji, nawet całkowite uszkodzenie plików itp...
        • z WiX masz pełną przejrzystość i "chudość"dla swojego źródła. Jest po prostu czystszy i bardziej niezawodny, gdy jest wykonywany prawidłowo i automatycznie aktualizacja źródła jest możliwa, ale nie spowoduje kaskadowych zmian w dziesiątkach tabel MSI. W połączeniu z kontrolą źródeł zmiany są łatwo śledzone i (miejmy nadzieję) zrozumiane - nie dodano żadnych tajemniczych, nieudokumentowanych rzeczy.
        • przy tym wszystkim należy zauważyć, że aktualizacja z plików źródłowych WiX 3 do WiX 4 wydaje się , a nie być trywialna. Miejmy nadzieję, że to jednorazowa sytuacja. Nie jestem pewien, dlaczego tak się stało, a ja nie mam aktualnych informacji o to.
        • być może sprawdź prawdziwe wiadomości prosto z bloga Roba Menschinga: http://robmensching.com/blog / i blog Boba Arnsona https://www.joyofsetup.com / . prosto z paszczy konia, jak to możliwe dzięki Internetowi - to czasami wspaniały świat; -). Plotka głosi, że robią " żółwie aż w dół ".
    • solidna Skała, bardzo mało znaczących błędów.
      • dla tych, którzy mają zmagał się z długotrwałymi, przerywanymi, niewytłumaczalnymi błędami w innych narzędziach, jest to dar niebios. {War stories removed}.
      • i jeszcze lepiej: problemy faktycznie wydają się być naprawiane w WiX, czasami z pomocą społeczności - co jest odpowiednie dla zestawu narzędzi open source. Przez większość czasu wydaje się, że główny zespół dba o to.
    • bardzo bogaty w funkcje , ale czasami nieco trudny w użyciu.
      • potrzeba czasu, aby się przyzwyczaić, a nawet gdy jesteś przyzwyczajony do to może być "fiddly", aby uzyskać prawo (szczególnie jeśli nie używasz dołączonych narzędzi pomocniczych prawidłowo).
      • pomaga używać ciemnego.exe decompiler narzędzie do dekompilacji istniejących plików MSI do WiX XML. Pozwala to na zbadanie Źródła WiX bez uprzedniej wiedzy o nim zbyt wiele.
      • wyjątkowa możliwość dostosowania do złożonych rzeczy, takich jak IIS, COM+, SQL Server, permissioning, firewall rules , itd... "Wszystko" jest możliwe, ale czasami trochę zaangażowane.
      • WiX skutecznie "rozszerza Windows Installer " o nową i bardzo potrzebną funkcjonalność. Jest to ogromna korzyść dla wszystkich, którzy wcześniej musieli "rolować własne" rozwiązania-często dla rzeczy, które wydawały się banalne (ale nadal były bardzo podatne na błędy).
      • moc tych rozszerzeń nie może być zawyżona. Możesz pozbyć się wielu samodzielnie napisanych, złożonych działań niestandardowych na rzecz tested rozwiązania . Z odpowiednim wsparciem rollback ! (bardzo zaniedbana funkcja w konfiguracjach dostawców - z mojego doświadczenia prawie wszystkie-powodująca nieczysty stan systemu po przerwanych konfiguracjach).
      • mam osobiste doświadczenie w pisaniu C++ dll z niestandardowymi działaniami dla typowych zadań z odpowiednią obsługą rollback, a ilość pracy była oszałamiająca-zwłaszcza QA rzeczywistej funkcji rollback.
    • niezwykły brak narzędzi GUI i bardzo niewiele dobrych próbek dostępnych - szczególnie dla WiX 4.
    • Pełna integracja w Visual Studio, z IntelliSense.
      • najwyraźniej będą pewne ograniczenia co do tego, jakie wersje Visual Studio będą obsługiwane przez WiX 4.
      • nie znam jeszcze szczegółów, ale będziesz potrzebował najnowszej wersji Visual Studio. Myślę, że są dobre wpisy na blogu od Roba i Boba na ten temat.
    • it ' s free (!). Każdy programista może zbudować konfigurację. Ktoś musi być właścicielem chociaż(!). Naprawdę; -).
    • jest Open Source też.
    • Jak zacząć? (bezpośredni link do odpowiedzi, która została dobrze przyjęta-ku mojemu zaskoczeniu).
      • dla wypróbuj ten artykuł o projekcie kod aby szybko rozpocząć tworzenie plików MSI za pomocą WiX (WiX 3). Jest to naprawdę proste (jeśli znasz MSI to jest oczywiste).
      • możesz także przeczytać ten artykuł o przepełnieniu stosu WiX zawiera dodatkowe wskazówki dotyczące szybkiego startu.
      • NEW & RECOMMENDED : odpowiedź stackoverflow pokazująca bieżące minimalne zmiany potrzebne do skompilowania działającego pliku MSI podczas tworzenia nowego projektu WiX w Visual Studio: WiX installer msi nie instaluje aplikacji Winform utworzonej w Visual Studio 2017.
      • i możesz użyć ciemnego Wixa.exe (MSI decompiler) do dekompilacji istniejącego pliku MSI do odpowiedniego formatu WiX XML, a następnie badania, jak to pasuje do siebie. Bardzo przydatne i edukacyjne-szczególnie dla zaawansowanych funkcji.
    • obecne i przyszłe wersje.
      • Wersja 3.1 jest stabilna i wydana (Maj 2017). Rock solid .
      • Wersja 4 jest obecnie rozwijana przez osiem lat (Sierpień 2017).
        • nie jest jasne, kiedy będzie dostępna w wersji stabilnej.
        • będzie to najwyraźniej bardzo duża aktualizacja , która wymaga znacznych przerobienie istniejących plików WiX, aby z powodzeniem korzystać.
        • nie mogę podać żadnych szczegółów na temat głównych różnic w tym momencie.
        • stabilność i niezawodność wersji 3 bez wątpienia zostały zachowane.

    Zaawansowany Instalator

    • nie użyłem tego do prawdziwego rozwoju.
    • bardzo łatwy w użyciu, ładny GUI.
    • UPDATE :
      • Bardzo dobry zintegrowany logowanie w samym narzędziu podczas instalacji testowej. Imponujące.
      • W 2008 roku firma została założona przez firmę Garmin, która od 2009 roku zajmuje się projektowaniem i dystrybucją oprogramowania dla firm.
    • bogaty w funkcje . Kompiluje wszystkie rodzaje konfiguracji i obsługuje wszystkie nowe technologie (App-X, App-V, itp...)
    • wsparcie dla App-V wydaje się bardzo rozległe.
    • może zaimportować wiele plików źródłowych innych narzędzi (Installshield, Inno, Wix, Wise, NSIS, Visual Studio, Desktop Bridge, itp...). Nie testowane przeze mnie.
  • przechowuje projekty w zastrzeżonym formacie tekstowym, o ile widzę.
  • wydaje się solidny, a co najważniejsze ukrywa pewną złożoność MSI za pomocą dobrego GUI , który pokazuje intuicyjne pola wyboru i opcje, a nie flagi i właściwości stylu SDK. To jest dobra rzecz, i brakuje całkowicie WiX w tym momencie.
  • wygląda na to, że może być dobry do prototypowania i testowania, bardzo silny GUI i automagic {[6] } dla powszechnie używanych funkcji.
  • brakuje mi widoku Wydania InstallShield z flagami wydania i ustawieniami automatyzacji kompilacji, a także innymi funkcjami zarządzania wydaniami(można by teraz poprawić).
  • ogólnie solidne narzędzie, które wygląda najlepiej nadaje się dla programistów szukających łatwego sposobu na wdrożenie aplikacji. Podobne do mądrego pod tym względem.
  • zbyt małe doświadczenie praktyczne, aby pisać o wiele więcej. Spróbuj. Wynocha.

  • Inne Narzędzia

    • Orka to darmowe narzędzie Windows SDK, które umożliwia otwieranie, edytowanie i w pewnym stopniu porównywanie binarnych plików MSI. Pozwala również na inne operacje, takie jak generowanie plików transformacji do modyfikowania plików MSI i niektórych innych operacji technicznych. Podstawowe narzędzie, które zawsze lubię mieć zainstalowane i dostępne. Jest bardziej obszerny akapit orki tutaj omawiający jego użycie (spójrz w kierunku dna). Zwykle musisz zainstalować Windows SDK, aby zdobyć Orca (wystarczy zainstalować najnowszą wersję i wyszukać narzędzie).
    • darmowe narzędzie o nazwie "Super Orka" został mi polecony, podobnie jak "InstEd". Użyłem ich tylko krótko, ale wyglądają OK, i są łatwiejsze do zdobycia niż Orca(Bez Windows SDK do pobrania).
    • i jest wiele innych narzędzi . Oto lista narzędzi z http://www.installsite.org ze wskazaniem, czy narzędzie jest nadal aktywnie utrzymywane, czy nie: http://www.installsite.org/pages/en/msi/authoring.htm (podziękowania dla Phila Wilsona za link - nie mogłem wskrzesić jego odpowiedzi).
    • przypuszczam, że mogę również dołączyć link do Lista programów instalacyjnych w Wikipedii.

    Zalecenia Narzędziowe?

    To nie jest moje miejsce, aby bezpośrednie zalecenia dotyczące narzędzi. Ale chyba mogę poczynić pewne "obserwacje" i podać kilka dalszych linków do podejmowania decyzji.

    Dla każdego poważnego zespołu programistów proponuję WiX. gdzie inne narzędzia mają łatwość użycia (co jest bardzo ważne, a czasami jedyną ważną rzeczą), WiX wyróżnia się elastycznością, rozszerzalnością, stabilnością i wykorzystaniem plików źródłowych tekstowych XML - z karą bycia nieco zaangażowanym w radzenie sobie z. I ze względu na jego darmowa licencja każdy programista może przeglądać i kompilować źródło, a zmiany są łatwo śledzone, cofane lub zatwierdzane. Zarządzanie procesem z deweloperami aktualizującymi Jedno źródło WiX nadal ma swoje wyzwania (nie różni się od regularnych prac programistycznych - nic nie jest łatwe).

    [[4]}dla firmowego przepakowywania (co prawda jest nieco poza centrum zainteresowania dewelopera stackoverflow.com) chyba główne opcje w tej chwili to Flexera AdminStudio i Advanced Installer Architect . Dostępne są również inne produkty i jak zawsze installsite.org ma szczegóły: Narzędzia: przepakowywanie i wdrażanie korporacyjne.

    Dla małych zespołów programistycznych poszukujących szybkiego i łatwego sposobu wdrożenia swoich aplikacji, domyślam się, że Installshield i Advanced Installer są najczęstszymi narzędziami "opartymi na GUI". Zapewniają one wiele funkcji, a twój będzie w stanie dostarczyć konfigurację szybko. Jak już wspomniano, czasami jest to jedyna ważna rzecz. Bardzo często w rzeczywistości. Jest jednak możliwe dostarczenie świetnego instalatora za pomocą WiX - ale wymagana jest o wiele większa wiedza. Istnieje krzywa uczenia się i istnieją pewne poważne ograniczenia - szczególnie w odniesieniu do GUI w tej chwili-ale podstawowa technologia jest bardzo solidna i bezpłatna. I co ważne są wiele innych narzędzi (lista z http://www.installsite.org ) jak również, że może być bardziej odpowiednie dla Twojego zadania-szczególnie jeśli jest to prosta aplikacja, która wymaga tylko podstawowych funkcji wdrażania. To jest "niesprawiedliwe", że nie podałem więcej informacji o tych narzędziach, które są całkiem zdolne, ale rzadziej używane lub ustalone.

    Powinienem jasno powiedzieć, że polecam WiX dla zespołów korporacyjnych dostarczających wewnętrzne aplikacje , ponieważ mogą korzystać z elastyczności zapewnianej przez WiX, a także będą mieli dostępną wiedzę specjalistyczną i techniczną skill do radzenia sobie ze złożonością WiX. I mogą szkolić nowych ludzi, gdy są potrzebne. Bardzo ważna sprawa. WiX nie jest trywialny do nauki, chyba że masz już dużo wiedzy Instalatora Windows-to bułka z masłem , ale nadal wymaga czasu, ponieważ jest tak elastyczny i z braku lepszego słowa: "fiddly" - to jest jak prawdziwy rozwój, masz prawdziwą kontrolę, ale musisz być precyzyjny. Po skonfigurowaniu Źródła WiX może być marzeniem do czynienia z-wiesz, co się dzieje.

    To podsumowując: jeśli jesteś małym (lub dużym) zewnętrznym dostawcą poszukującym dobrego sposobu na szybkie dostarczenie aplikacji do Twoich klientów prawdopodobnie lepiej będzie, jeśli użyjesz komercyjnego Narzędzia, które zapewni łatwość użycia i szybkie rozwiązanie do wdrożenia ograniczonych ilości zmian. W szczególności w przypadku IIS narzędzia komercyjne nie zapewniały mi w przeszłości elastyczności, jakiej potrzebowałem. A wewnętrzne zespoły programistyczne powinny przynajmniej wypróbować WiX.

    Wreszcie słowo przestrogi: zaawansowany Instalator, InstallShield i Wise ogólnie pozwalają na pakowanie oprogramowania dlawirtualizacji . Nie jestem świadomy żadnych funkcji w WiX dla tej chwili. Proszę dodać komentarze lub po prostu edytować ten post, jeśli masz informacje TUTAJ.


    Top Praktyczna Wskazówka :

    Ogólnie używam innych narzędzi do prototypowania i Wix do implementacji, jeśli mam wybór. Możesz użyć Wix ' a dark.exe (MSI decompiler) do dekompilacji istniejącego pliku MSI. Czasami implementuję coś w Wise lub InstallShield, kompiluję MSI i dekompiluję do formatu WiX. Następnie podnoszę znaczniki WiX i zrzut do mojego głównego pliku WiX. Działa świetnie i zazwyczaj bardzo szybko. To w połączeniu z ciepła.exe narzędzie do automatycznego tworzenia komponentów pozwoliło mi spakować ogromną stronę internetową IIS w mniej niż 10 minut po kilku ćwiczeniach. Następnie mam pełną konfigurowalność zapewnioną przez WiX, z łatwość obsługi innych narzędzi.

    Czyszczenie dekompilowanego źródła nie jest piknikiem, ale nie jest też nauką rakietową. Trochę wiedzy MSI jest potrzebne i będziesz "majstrować" przez jakiś czas. Należy pamiętać, że pobieranie wersji próbnych komercyjnych narzędzi do generowania i dekompilacji plików MSI nie jest zalecane. Wynikowe pliki MSI są zazwyczaj "oznaczone znakiem wodnym" z funkcjami, które są trudne do usunięcia.

    Kilka Linków:

     89
    Author: Stein Åsmul,
    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-08-15 19:12:30

    Jak dobry jest WiX w non-.NET rzeczy?

    WiX posiada wsparcie dla wszystkich Windows Installer. Windows installer predates. NET.

    Osobiście wolę WiX niż InstallShield ponieważ

    • format tekstowy XML umożliwia przegląd commity, scalanie zmian pomiędzy gałęzie
    • automatyzacja budowy powinna zawierać konfigurację generowanie, co jest łatwe z WiX
    • pliki wixlib z komponentem Grupa definicje pozwalają na modułową konfigurację rozwój . Nie musisz się martwić zależności zależności, itd.
    • brak licencji i problemów z wdrożeniem, po prostu dołączamy Zestaw Narzędzi WiX w a / tools folder naszych projektów w SVN

    Kiedy używaliśmy InstallShield, były to wszystkie punkty bólu. WiX ma jednak bardzo stromą krzywą uczenia się.

     18
    Author: Wim Coenen,
    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-08-10 22:16:51

    Powinieneś sprawdzić freeware Inno Setup : przez długi czas go używam, nigdy mnie nie rozczarował!

     7
    Author: kiwixz,
    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-08-10 22:18:45

    Nie używałem InstallShield od kilku lat. W mojej ostatniej pracy odeszliśmy od niego do NSIS głównie dlatego, że jego binarny format utrudniał kontrolę wersji i dlatego, że kilka razy plik źródłowy po prostu został uszkodzony, bez nadziei na odzyskanie. To może być związane z SourceSafe oczywiście!

    Poza tym było to niepotrzebnie skomplikowane. Nie zrozum mnie źle - robiliśmy dość skomplikowane instalatory, z dużą ilością ścieżek warunkowych, scalanie moduły i wyrafinowany interfejs użytkownika, ale nawet za to był zbyt skomplikowany.

    NSIS ma świetny system wtyczek i można go zaprogramować imperatywnie za pomocą LogicLib plugin, generować automatyczne Odinstalowywanie Plików i wiele innych rzeczy poza.

     5
    Author: RB.,
    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-08-10 22:14:49

    Odziedziczyłem garść projektów InstallShield (v12). Wszystkie pliki są tekstowe / XML i dlatego nie ma żadnych problemów z kontrolą wersji. Mamy maszynę do budowania, która korzysta z narzędzi wiersza poleceń, która działa dobrze. Nie podoba mi się (a) koszt na miejsce programisty i (b) błędy.

    Inno Setup jest bardzo zdolny/elastyczny i istnieje wiele sposobów osiągnięcia celu, co doprowadziło do stromej krzywej uczenia się. Mamy kilka wersji za ich najnowszą wersją (Ze względu na ich upgrade struktura kosztów). Ponieważ nasze produkty działają na wdowie, jeśli będziemy musieli się przełączyć, mogę najpierw zbadać rozwiązanie instalatora Microsoftu, które jest dostarczane z subskrypcją MSDN.

     1
    Author: GregUzelac,
    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-08-10 22:17:58