2009-10-16 11 views
5

Nasz produkt ma kilka produktów, które klient może zainstalować, utworzone jako osobne pakiety instalacyjne (MSI).HOWTO i najlepsza działająca instalacja (MSI) chainer +/bootstrapper

Mamy wymóg posiadania pojedynczy pakiet do instalacji, które będą:

  1. przedstawiają jeden interfejs z postępem
  2. pozwala użytkownikowi wybrać, które funkcje/pakiety do zainstalowania
  3. Have zdolność Aby ograniczyć jedną funkcja do innej (np. usuwanie lub dodawanie efektu)
  4. Wsparcie pojedynczej wysokości (UAC)
  5. miło mieć możliwość automatycznej aktualizacji (nie musi)
  6. wsparcie linii poleceń + cicha instalacja
  7. pakiet powinien być zbudowany z pojedynczych instalacji (łańcuch nich)
  8. raise błąd/komunikaty o brakujących warunków
  9. łatek Pomocy w czasie i główne ulepszenia

Dzisiaj robimy prawie wszystkie powyższe przy użyciu MSI z zagnieżdżonymi instalacjami, co jest złym zwyczajem i mamy do czynienia z zbyt wieloma problemami w naszym rozwiązaniu.

wiem, że istnieje kilka bootstrappers tam (m $ generic inicjującego, który myślę, że nie jest dobrze, palić to wersja WIX, które nie są wystarczająco dojrzałe)

Znasz inne? to działa i przetestowane już? Jaka jest najlepsza metoda (bez unifikacji MSI w jednym MSI)?

+0

Choć rozumiem, że BURN Wix jest młoda i nawet w jeszcze uwolnienie produkcji, IMHO, że może warto spróbować od razu zwolniony (z WIX 3.5) prawdopodobnie szybko stanie się nowym "standardem". – ewall

+0

Zgadzam się na to, osobiście uważam, że Burn zapewni wszystko, czego potrzebuję, a jeśli nie, mogę go ulepszyć :), Istnieje jeszcze jedna opcja tworzenia niestandardowego bootstrappera przy użyciu NSIS, który jest również prosty ... Zadziwiająca część jest taka, że Zadaję pytanie, które KAŻDA firma powinna zadać, a jednak nie ma szybkich i dobrych odpowiedzi -> tu jest biznes –

Odpowiedz

1

Dopóki Wix's Burn nie jest gotowy, naprawdę nie mamy wielkiego wyboru, jeśli chodzi o bootstrappery.

Jeśli używasz InstallShield jako projektanta msi, możesz spróbować utworzyć projekt InstallScript zawierający wszystkie różne pakiety msi. Następnie można zainstalować dyskretnie tylko żądane pakiety. InstallShield jest dość drogi, więc jeśli go jeszcze nie masz, prawdopodobnie będziesz musiał przetasować własny bootstrapper.

2

Utwórz pakiet InstallScript InstallShield. Użyj pakietu InstallScript, aby uruchomić .MSI z "-qn" po kolei. Robię to i mi się to udaje. Uważam, że spełnia on wszystkie wymienione przez ciebie wymagania.

6

dotNetInstaller wygląda obiecująco. Eksperymentowałem z nim, aby zainstalować Javę jako warunek wstępny. Jest dostarczany z edytorem GUI, więc nie musisz sortować xml, aby utworzyć projekt. Plik konfiguracyjny znajduje się w języku xml, a InstallerLinker można uruchomić z wiersza poleceń. Mogłoby zostać zintegrowane z serwerem kompilacji, choć niektóre zadania związane z msbuild byłyby miłe.

projekt domu:
http://dotnetinstaller.codeplex.com/

poradnik:
http://www.codeproject.com/KB/install/dotNetInstaller.aspx

+0

Chcę zmienić jego interfejs, szczególnie ten migający pasek postępu. Czy masz jakieś wskazówki na ten temat? –

+0

Możesz spróbować htmlInstaller dotnetinstaller. Brzmi jak zwykły instalator dotnet, ale z interfejsem html, który możesz dostosować. Nie użyłem jeszcze htmlInstaller, ale wygląda obiecująco. – mcdon

+0

Tak, próbowałem z tym, ale nie wydaje się, że oferuje wiele modyfikacji .... –