MSI vs NuGet packages: które są lepsze dla ciągłej dostawy?
Omówmy następujący temat. Istnieje aplikacja, która jest obecnie wdrażana z dobrze znaną metodą xcopy.Takie podejście utrudnia zarządzanie zależnościami, aktualizacjami plików itp. Jest pomysł, aby rozpocząć wdrażanie aplikacji z pomocą niektórych pakietów, wiesz jak to zrobić w Linuksie z Pomocą RPM, ale Dla Windows.
Więc mam pytanie: jaki system pakietów jest lepszy do wykorzystania na Windows classic Windows installer (msi) lub nuget albo coś innego?
2 answers
MSI {[5] } jest akceptowanym standardem aplikacji korporacyjnych. Ma niektóre główne korzyści korporacyjne w porównaniu ze starszymi wdrożeniami techniki. WiX jest nowy sposób open source do tworzenia plików MSI.
- Wix Toolset Download.
- aby ogarnąć Wix, warto przeczytać szybkie, nieoficjalne podsumowanie historii.
- wtedy ty może warto sprawdzić inne sposoby dostarczenia instalatora, oprócz Wix, czytając: jakiego produktu instalacyjnego użyć? InstallShield, WiX, Wise, Advanced Installer, etc ( Jeszcze jedna szybka lista narzędzi ).
- na koniec Zobacz kompletny przykład Jak plik źródłowy Wix i jego komponenty wyglądają na Codeproject. To jest "Witam Świat " z Wix.
Kilka dobrych linków startowych do nauki Wix:
- moje propozycje szybkiego startu Wix
- dobre zasoby do nauki tworzenia instalatorów MSI z WiX
- jak zaimplementować WiX installer upgrade? (Główne uaktualnienie)
- jakie są ograniczenia WiX i WiX Toolset?
Wyodrębnij pliki z Setup.exe
WiX Bundle lub z samego pliku MSI:
- Wyodrębnij MSI z EXE - w tym jak wyodrębnić pliki osadzony w pliku wykonywalnym WiX Burn bundle.
- Jak mogę porównać zawartość dwóch (lub więcej) plików MSI?W przeciwieństwie do MSI, MSI nie jest w stanie uzyskać dostępu do plików z MSI za pomocą narzędzia WiX.]}
Jak pisałem w moim sugerowanym" Wix quick start " postu powyżej: Wix jest hands-on . po prostu skup się na prostych, ale kompletnych rzeczywistych próbkach, takich jak ta z Codeproject - samo czytanie dokumentacji może być jedynie mylące .
Skup się na podziale aplikacji na komponenty i skonfiguruj dużą aktualizację. Użyj jednego pliku na komponent zgodnie z regułą i przeczytaj tę odpowiedź, aby lepiej zrozumieć tworzenie komponentów: zmienić mój identyfikator GUID komponentu w wix?
Głównym upgrade jest najczęściej używanym mechanizmem upgrade 'U Dla wdrożonego oprogramowania (innym powszechnym typem upgrade' u jest minor upgrade). Jest to oczywiście istotne, że można uaktualnić to, co już się rozlokowałeś. Uruchamiaj scenariusze aktualizacji przed wdrożeniem pierwszej wersji oprogramowania, aby mieć pewność co do rozwiązania wdrożeniowego.
Po skonfigurowaniu komponentów i uruchomieniu rozwiązania uaktualniającego, reszta elementów układa się na swoim miejscu, podczas pracy nad wymaganiami wdrożenia aplikacji i sprawdzania próbek w witrynie samouczka Wix: https://www.firegiant.com/wix/tutorial/.
Dla piszących Wix kod bezpośrednio (bez edytora GUI), proponuję sprawdzić tę odpowiedź pod kątem sposobu na zachowanie plików źródłowych: składnia GUID w WIX?
Czytaj dalej:
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-10 22:47:02
Idę teraz tą ścieżką, gdzie odziedziczyłem oprogramowanie za pomocą MSI / WiX dla instalatora, ale patrząc na konwersję naszego procesu do ciągłego dostarczania i wypychania aktualizacji, które są instalowane bez interakcji z klientem. Myślę, że jest to niepoprawne do pigeon hole NuGet jako narzędzie SDK, w swojej istocie jest to narzędzie do wdrażania wersjonowanych zestawów plików. Co więcej, jeśli oprogramowanie, które wdrażasz, odpowiada już na nuget i już pakujesz swoje zespoły do nuget pakiety do użytku wewnętrznego, to po co dodawać dodatkową technologię do mieszanki ze względu na to? spakuj nugeta.exe w Twoim msi, wywołaj aktualizacje na nim okresowo, gotowe.
Wiem, że WiX wspiera tworzenie łatek, ale wygląda na to, że to przemyślenie. Co się stanie, jeśli instalacja łaty nie powiedzie się? Instalowanie łatek Nie w porządku? Twój główny instalator wymaga uprawnień UAC, a twoja łata nie?
Myślę, że czasy się zmieniają, A MSI reprezentuje starszy sposób myślę o różnych rzeczach. Chocolatey jest dobrym przykładem, ale wciąż jest na tym etapie hybrydowym, mieszając obie technologie.
MSI jest bardziej jak pull - u get a package, then install it. Nuget jest bardziej jak push stratergy-u uzyskać nazwę pakietu, zainstalować go, a następnie okresowo można wywołać update, a nowa wersja jest pobierana i instalowana.
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-01-13 02:43:07