Co dokładnie robi instalator i dlaczego mogę go potrzebować?

34

jest to prawdopodobnie pytanie dnia dzisiejszego:

Więc napisałem tę grę.

Teraz jest plik .exe, który działa, folder z moimi pięknymi, pięknymi zasobami oraz garść plików .dll i innych rzeczy, których prawdopodobnie nie powinienem dotykać. Aby uruchomić grę, kopiuję całą partię na żądany komputer, dwukrotnie klikam plik .exe i zaczynam strzelać do kolesi. Tak!

Ale jaka dokładnie jest różnica między tym a korzystaniem z instalatora? Co jeszcze robi instalator poza kopiowaniem plików i wyglądaniem bardziej profesjonalnie niż plik .zip? Czy generalnie jest dużo łatania / konfigurowania podczas próby uruchomienia gry na innym komputerze? Przetestowałem moją grę na wszystkich komputerach z systemem Windows, na których można było dostać chciwe palce i działa świetnie.

HumanCatfood
źródło
1
Na przykład w XNA potrzebujesz środowiska uruchomieniowego XNA. Lub SlimDX potrzebujesz SlimDX.dll w katalogu gry lub w GAC.
Kikaimaru,
Hm, rozumiem to. Ale te pliki .dll, których potrzebuję (w moim przypadku sdl.dll i jego miniony) znajdują się już w tym samym katalogu co plik .exe i są kopiowane, gdy kopiuję resztę. Co zrobiłby instalator inaczej?
HumanCatfood,
2
@ Jan Użytkownik końcowy nie musi się martwić o umieszczanie plików, a co nie. To jest coś, co się dla nich robi.
Sidar
1
Coś do przemyślenia - jak „duża” jest Twoja gra? Tj. To mały plik exe w stylu indie, jedna lub dwie biblioteki DLL i kilka obrazów, czy też jest to coś ogromnego, co wymaga zainstalowania różnego rodzaju środowisk uruchomieniowych. Jeśli jest to coś stosunkowo małego, plik exe w zipie może być wystarczający i może pomóc przezwyciężyć niechęć użytkownika do instalowania losowych gier, które mogą chcieć usunąć po pięciu minutach gry.
Piku,
1
Mówiąc o instalatorach ... często przeoczanym jest dobry de- / deinstalator. Nie pamiętam, jak często musiałem usuwać resztki plików i / lub klucze rejestru. Co jest szczególnie irytujące, gdy wspomniane resztki powodują problemy po ponownym zainstalowaniu gry.
Exilyth,

Odpowiedzi:

34

Instalator jest zwykle tam, aby ułatwić użytkownikowi końcowemu. Wykonuje kombinację następujących czynności:

  • Rozpakowywanie
  • Tworzenie katalogów
  • Instalacja wymaganych środowisk wykonawczych (redystrybucyjnych, takich jak: .Net, Visual C ++, Direct x)
  • Rejestracja w systemie operacyjnym (do późniejszego czystego odinstalowania)
  • Wyświetlaj piękne, piękne zrzuty ekranu, aby przygotować gracza do gry podczas jej działania.
  • Oferując użytkownikowi szansę zarejestrowania swojej gry
  • Pobieranie aktualizacji zasobów lub poprawek do gry
  • Dodaj ikony do menu Start lub pulpitu
  • Ustaw odpowiednie uprawnienia dla różnych katalogów gier (folder tymczasowy, katalog zapisywania itp.)
  • Wystarczy go zainstalować , pozwolić użytkownikowi bezmyślnie kliknąć przycisk Dalej i przejść do gry!
MichaelHouse
źródło
No tak, nie myślałem o tym, że może być konieczne zainstalowanie środowiska uruchomieniowego. Dziękuję Ci!
HumanCatfood,
2
Nie zapomnij też skonfigurować praw dostępu do plików! Twoja gra nie ma zagwarantowanego dostępu do zapisu do swojego folderu (w przypadku zapisanych gier itp.), Chyba że instalator je skonfiguruje.
Nevermind,
10
+1 Większość użytkowników końcowych nie jest nawet zadowolona z rozpakowywania pliku, więc instalator powinien zaproponować rozsądną domyślną ścieżkę instalacji i „po prostu zrób to”. Wielu użytkowników końcowych nie wie, czym jest system plików ani jak zlokalizować pliki poza domyślnymi ścieżkami Dokumentów, które są im przedstawione. I szczerze mówiąc, dlaczego, u licha, powinni w ogóle wiedzieć? Pomyśl o instalatorze jako sklepie z aplikacjami dla biednych ludzi. Aby rozpocząć grę, wystarczy jedno kliknięcie, nie więcej.
Oskar Duveborn
To naprawdę zależy od grupy docelowej.
API-Beast
3
Dodałbym również spójność do listy powodów. Udostępniając instalator, upewniasz się, że użytkownik otrzymuje konfigurację spójną z innymi użytkownikami, w przeciwnym razie możesz skończyć z szalonymi rzeczami, takimi jak rozpakowywanie gry na pulpicie i uruchamianie jej z tego miejsca (tak, widziałem, że tak się dzieje). Korzystanie z spójne i znany-dobry setup usuwa wiele rzeczy, które mogą pójść źle, i ułatwia pracę z rozwiązywania problemów, gdy coś zrobić pomylić.
Maximus Minimus,
3

Instalator streszcza proces wdrażania złożonych elementów infrastruktury oprogramowania , która zwykle jest zawarta w archiwum, za pomocą wygodnego, samowystarczalnego interfejsu użytkownika .

Ten interfejs użytkownika może być graficzny lub oparty na tekście wyprowadzanym z wiersza poleceń, takiego jak powłoka unix (np. Bash). W przypadku instalatorów graficznych najczęściej używany jest tak zwany bootstrapper instalacji, w tym drugim przypadku skrypty instalacyjne, którymi mogą być skrypty bash, skrypty wsadowe Microsoft lub inne języki skryptowe działające w wierszu poleceń.

W najprostszym przypadku aplikacja jest po prostu plikiem wykonywalnym, a system operacyjny wie, co zrobić z plikiem, aby go uruchomić. Plik aplikacji może znajdować się w folderze z podfolderami i innymi plikami pomocniczymi, spakowanymi w jednym archiwum . W takim przypadku instalator może nie być potrzebny.

W przypadku złożonego oprogramowania pożądane mogą być całe platformy oprogramowania i ścisła integracja z podstawową infrastrukturą systemu operacyjnego , na przykład w celu egzekwowania praw autorskich do oprogramowania.

Wiele instalatorów w systemie Windows udostępnia flagę /elub /extract. np. setup.exe /eaby umożliwić wyodrębnienie zawartości archiwum bez uruchamiania skryptu instalacyjnego przez instalator. Niedawno potrzebne do zrobienia tylko że .

W kierunku przenośności

Instalatorzy prawie stali się standardem w dostarczaniu profesjonalnego oprogramowania, bez względu na to, jak proste są podstawowe zasoby oprogramowania. Wraz z rosnącą liczbą doświadczonych użytkowników komputerów i chęcią migracji aplikacji z jednego komputera do drugiego, przenośne oprogramowanie , często dostarczane w prostym archiwum, staje się coraz bardziej popularne.

( Nie wiem, ile czasu w sumie spędziłem na instalatorach, ale zdecydowanie jest to kolejność dni ).

Zadania, które może obsłużyć instalator, to:

  • rozpakowywanie (często przy użyciu egzotycznych archiwizatorów o wysokim stopniu kompresji)
  • zapewnienie wymagań sprzętowych systemu
  • zapewniając wystarczającą ilość miejsca na dysku twardym
  • zapewnianie wymagań środowiska wykonawczego platformy oprogramowania (np. „składników redystrybucyjnych”)
  • sprawdzanie nowszych aktualizacji oprogramowania
  • pobieranie oprogramowania ze zdalnego repozytorium
  • tworzenie i / lub aktualizowanie plików i folderów programu
  • tworzyć pliki konfiguracyjne, wpisy rejestru lub zmienne środowiskowe
  • instaluj sterowniki oprogramowania, montuj lub odmontowuj urządzenia
  • zwiększyć dostępność dla codziennych użytkowników, wyjaśniając kroki instalacji, tworząc łącza, skróty
  • promować własne oprogramowanie za pomocą zakładek itp.
  • stworzyć zachętę do faktycznego uruchomienia oprogramowania przez użytkownika, prezentując kluczowe punkty oprogramowania podczas instalacji, slajd po slajdzie
  • generować dodatkowe przychody dzięki pakietowi oprogramowania
  • konfiguruj moduły jądra i automatycznie działające komponenty (np. demony, usługi Windows)
  • automatyczne łatanie oprogramowania
  • ustawianie uprawnień do folderu, pliku i użytkownika
  • tworzenie identyfikatorów GUID w celu powiązania oprogramowania z konkretną instancją instalacji i, na przykład, zapobiegania przenoszeniu

... Jeśli możesz pomyśleć o innych kwestiach, daj mi znać, a ja je uwzględnię.

Lorenz Lo Sauer
źródło