Jak utworzyć instalator dla mojej wersji demonstracyjnej XNA?

11

Mam wersję demonstracyjną zakodowaną w XNA3.1 przy użyciu VS2008. Naprawdę chciałbym móc to wysłać każdemu, kto ma komputer, i pozwolić mu zainstalować i uruchomić go bez konieczności instalowania VS lub frameworku .NET itp.

Myślałem, że to będzie opcja publikowania, ale jestem trochę zaskoczony. Czy ktoś może rzucić nieco światła na tę sprawę?

Z góry dziękuję.

SirYakalot
źródło
Wszystko, co zostało stworzone za pomocą XNA, wymaga uruchomienia XNA Framework, więc musieliby zainstalować .NET Framework i XNA Framework. Nie potrzebowaliby Visual Studio.
thedaian
2
to jest nieco mylące. Masz rację, że potrzebowaliby frameworka xna i być może frameworku .net itp. Ale nie musieliby instalować go sami per se - taki jest sens tworzenia instalatora; sprawdza zależności i instaluje je w razie potrzeby. W tym przypadku obejmuje to redystrybuowane środowisko XNA.
SirYakalot

Odpowiedzi:

14

Wybierz swój

Istnieje wiele sposobów tworzenia instalatora do czegokolwiek, w tym do gry XNA.

1. Rozwiązanie Visual Studio Deployment

Ten jest dość prosty. Jeśli masz wersję Professional programu Visual Studio, możesz dodać projekt wdrożenia do swojego rozwiązania i za każdym razem, gdy skompilujesz ten projekt, skompiluje on wszystkie niezbędne zależności / zasoby i sprawi, że będziesz fajnym instalatorem na końcu.

Ten link zawiera większość informacji potrzebnych do rozpoczęcia pracy i zawiera informacje na temat redystrybucji środowiska .NET i innych powiązanych elementów.

Plusy:

  • Zintegrowany z Visual Studio
  • Prosty sposób na uzyskanie prostego instalatora MSI zbudowanego i gotowego do dystrybucji

Cons:

  • Niedostępne w niektórych wersjach Visual Studio
  • Trudno jest zmusić instalatora do zrobienia czegoś bardziej złożonego niż instalacja / naprawa / odinstalowanie.

2. WiX

Jeśli nie masz możliwości utworzenia projektu Visual Studio Deployment, z powodu ograniczonej wersji Visual Studio, dostępnych jest wiele bezpłatnych alternatyw. WiX jest jedną z tych alternatyw.

Oznacza XML Instalatora Windows i może być zintegrowany z Visual Studio, podobnie jak projekty VS Deployment. Spowoduje to również utworzenie instalatora msi po kompilacji. Ostrzegamy jednak, że WiX ma stromą krzywą uczenia się, ale pozwala na różne złożoności w twoim instalatorze.

Możesz dowiedzieć się więcej na ten temat tutaj

Plusy:

  • 100% za darmo.
  • Potężny. Jeśli chcesz zrobić coś śmiesznie skomplikowanego w swoim instalatorze, po prostu stwórz bibliotekę C # DLL, połącz ją z projektem WiX i uruchom jako akcję niestandardową. (Prawie) Wszystko jest możliwe.
  • Ładnie integruje się z Visual Studio, działa bardzo, bardzo dobrze z projektami .NET.
  • Osoby na liście mailingowej WiX zapewniają wiele wsparcia.

Cons:

  • Trudne do zrozumienia i rozpoczęcia pracy ze względu na stromą krzywą uczenia się.
  • Błędy są niemal bezsensowne, gdy zaczynasz i dopiero po pewnym czasie zrozumienie, na czym polega prawdziwy problem w kodzie.
  • Za mało samouczków na ten temat. Większość (moim zdaniem) jest źle sformułowana, źle skonstruowana i wręcz myląca.

3. NSIS

NSIS to w pełni funkcjonalny pakiet do tworzenia instalatora. Przyznam, że ledwo go używałem, ale kiedy to zrobiłem, było to przyjemne doświadczenie. Istnieje wiele samouczków, jest w pełni skryptowalne, ale prawdopodobnie powiedziałbym, że nie jest tak potężny jak WiX (jeśli ktoś uważa, że ​​tak nie jest, możesz mnie poprawić).

Jest to całkowicie darmowy i open source i można znaleźć więcej informacji na ten temat tutaj .

Plusy:

  • 100% za darmo.
  • Instalator skryptowy, więc powinieneś być w stanie kodować niektóre złożone zachowania.
  • Dobra ilość samouczków, dobre wsparcie.
  • Nie tworzy MSI, ale zamiast tego EXE (MSI mogą być złe )

Cons:

  • Nie tworzy MSI, ale zamiast tego EXE (MSI mogą być dobre )
  • Dość ograniczony przez zakres poleceń skryptowych

4. InstallShield i InstallAnywhere

Nigdy nie korzystałem z InstallShield, ale ze względu na kompletność, pomyślałem, że wspomnę o tym tutaj. Moje jedyne doświadczenie pochodzi z tego, co ludzie mi powiedzieli, więc nie wymienię zalet i wad.

O ile mi wiadomo, jest w pełni funkcjonalny, jednak nie jest w stanie obsłużyć dużej liczby plików (> 1000). Musisz za to jednak zapłacić. InstallAnywhere to wieloplatformowa wersja InstallShield. Więcej informacji tutaj .

5. Inne rozwiązania

Wymienię tutaj inne rozwiązania do wdrożenia, jeśli ktoś ma jeszcze coś do dodania:

Zaawansowany instalator - darmowa wersja pozwala na podstawowe rozwiązania wdrożeniowe. Dzięki za ten dodatek, pek.

Wniosek

Dostępnych jest wiele opcji umożliwiających utworzenie instalatora gry XNA. Wypróbuj kilka, zobacz, co robisz najbardziej. Jednak najważniejszą rzeczą dotyczącą tworzenia instalatorów jest upewnienie się, że działa na wielu komputerach. Jeśli tworzysz instalator MSI, testowanie jest znacznie łatwiejsze, uruchamiając msi z wiersza poleceń za pomocą następującego polecenia:

msiexec /i [name of installer.msi] /L*v verbose_log.txt

Spowoduje to zapisanie dziennika każdego pojedynczego zdarzenia, przez które przechodzi instalator, które można następnie odróżnić od dowolnego narzędzia różnicowego, które ci się podoba.

Podsumowując, zobacz, co najlepiej pasuje do Ciebie i Twojego przepływu pracy, testowanie jest kluczowe, a za każdym razem, gdy testujesz instalator, ZAWSZE rejestruj instalacje (przez większość czasu instalatorzy nigdy nie podają żadnych przydatnych informacji na temat tego, co poszło nie tak).

To zmieniło się w coś dłuższego niż się spodziewałem i przepraszam. Ale mam nadzieję, że to pomoże.

~ Ray

Ray Dey
źródło
Oto kolejne narzędzie instalatora, które możesz chcieć dodać dla kompletności: Advanced Installer ( advancedinstaller.com ). Interfejs użytkownika umożliwia wiele czynności, a do prostych projektów wystarczy. Nie użyłem tego do niczego skomplikowanego. Wersja bezpłatna ma prawie wszystko, czego potrzebuje prosty projekt, więc nie przeszkadzało mi to.
pek
1
„Rozwiązanie Visual Studio Deployment” faktycznie odnosi się do dwóch oddzielnych technologii - ClickOnce i Instalatora Windows. Instalator Windows tworzy normalnie wyglądającego kreatora instalatora; jest szerzej stosowany i bardziej profesjonalnie wyglądający. ClickOnce jest łatwiejszy w użyciu, obejmuje możliwość automatycznej aktualizacji programu i może instalować bezpośrednio ze strony internetowej. Jednak ClickOnce to tylko .Net (nie obsługuje rodzimych projektów C ++) - ponieważ XNA jest również tylko .Net, nie powinno to stanowić problemu.
BlueRaja - Danny Pflughoeft