Cosa fa esattamente un installatore e perché potrei averne bisogno?


34

questa è probabilmente la domanda noob del giorno:

Quindi ho scritto questo gioco.

Ora c'è il file .exe che fa il lavoro, una cartella con le mie belle e belle risorse e un mucchio di file .dll e altre cose che probabilmente non dovrei toccare. Per eseguire il gioco, copio l'intero lotto sul computer desiderato, faccio doppio clic sul file .exe e inizio a sparare ad alcuni tizi. Sìì!

Ma qual è esattamente la differenza tra questo e l'utilizzo di un programma di installazione? Cos'altro fa un programma di installazione oltre a copiare i file e apparire più professionale di un file .zip? Esistono generalmente molte patch / configurazioni coinvolte quando si tenta di far funzionare un gioco su un altro computer? Ho testato il mio gioco su tutti i computer Windows su cui potevo avere le dita avide e funziona benissimo.


1
Bene in XNA per esempio, hai bisogno di XNA runtime. O con SlimDX hai bisogno di SlimDX.dll nella directory di gioco o in GAC.
Kikaimaru,

Lo capisco. Ma quei file .dll di cui ho bisogno (nel mio caso sdl.dll e i suoi seguaci) sono già nella stessa directory del file .exe e vengono copiati mentre copio il resto. Cosa farebbe diversamente un installatore?
HumanCatfood,

2
@Jan L'utente finale non deve preoccuparsi di posizionare i file e cosa no. È qualcosa che viene fatto per loro.
Sidar,

1
Qualcosa a cui pensare: quanto è grande il tuo gioco? Cioè è un piccolo file exe in stile indie, una o due DLL e alcune immagini, o è qualcosa di enorme che richiede l'installazione di ogni sorta di runtime. Se è qualcosa di relativamente piccolo, un file exe in una zip potrebbe essere abbastanza buono e può aiutare a superare la riluttanza dell'utente a installare giochi casuali che potrebbero voler eliminare dopo cinque minuti di gioco.
Piku,

1
Parlando di installatori ... qualcosa che spesso viene trascurato è un buon disinstallatore. Ho perso il conto della frequenza con cui ho dovuto rimuovere i file rimasti e / o le chiavi di registro. Il che è particolarmente esasperante quando detti resti causano problemi durante la reinstallazione del gioco.
Exilyth,

Risposte:


34

L'installer è in genere lì per rendere le cose più facili per l'utente finale. Fa una combinazione dei seguenti:

  • Unzipping
  • Creazione di directory
  • Installazione dei runtime richiesti (ridistribuibile come: .Net, Visual C ++, Direct x)
  • Registrazione con il sistema operativo (per successiva disinstallazione pulita)
  • Mostra bellissimi e bellissimi screenshot per preparare il giocatore al tuo gioco mentre funziona.
  • Offrire all'utente la possibilità di registrare il proprio gioco
  • Download di aggiornamenti per gli asset o le patch per il gioco
  • Aggiungi icone al menu Start o al desktop
  • Imposta le autorizzazioni corrette per varie directory di gioco (cartella temporanea, directory di salvataggio, ecc.)
  • Basta installarlo già , consentire all'utente di fare clic senza pensarci su Avanti e iniziare a giocare!

Oh giusto, non ci avevo pensato che potrebbe essere necessario installare i runtime. Grazie!
HumanCatfood,

2
Inoltre, non dimenticare di impostare i diritti di accesso ai file! Non è garantito che il tuo gioco abbia accesso in scrittura alla sua cartella (per i salvataggi e simili) a meno che un programma di installazione non lo configuri.
Nevermind

10
+1 La maggior parte degli utenti finali non è nemmeno a proprio agio nel decomprimere un file, quindi il programma di installazione dovrebbe proporre un percorso di installazione predefinito sano e "farlo" per loro. Molti utenti finali non sanno cosa sia un file system o come individuare i file al di fuori dei percorsi Documenti predefiniti che vengono loro presentati. E francamente, perché diamine dovrebbero anche sapere? Pensa al programma di installazione come a un app store per i poveri, dovrebbe essere un clic per iniziare a giocare, non di più.
Oskar Duveborn,

Bene, questo dipende davvero dal tuo pubblico di destinazione.
API-Beast

3
Aggiungerei anche coerenza all'elenco dei motivi. Fornendo un programma di installazione ti assicuri che l'utente ottenga una configurazione coerente con altri utenti, altrimenti finirai con cose folli come qualcuno che decomprime il gioco sul desktop e lo esegue da lì (sì, ho visto che succede). Utilizzando un costante e noto buona messa a punto rimuove un sacco di cose che possono andare storte, e facilita il lavoro di risoluzione dei problemi quando le cose fanno male andare.
Maximus Minimus,

3

Un installatore interrompe il processo di distribuzione di parti complesse di infrastruttura software , che di solito è contenuto in un archivio, attraverso una comoda interfaccia utente autosufficiente .

Questa interfaccia utente può essere grafica o basata sul testo che viene emesso su una riga di comando come la shell unix (ad esempio bash). Nel caso di programmi di installazione grafica, molto spesso viene utilizzato un cosiddetto install-bootstrapper, in quest'ultimo caso, script di installazione che possono essere script bash, script batch Microsoft o qualsiasi altro linguaggio di script eseguito su una riga di comando.

Nel caso più semplice, un'applicazione è semplicemente un file eseguibile, con il sistema operativo che sa cosa fare del file per eseguirlo. Il file dell'applicazione può risiedere in una cartella con sottocartelle e altri file ausiliari, impacchettati in un archivio . In questo caso potrebbe non essere necessario alcun programma di installazione.

Per software complessi , potrebbero essere desiderabili intere piattaforme software e una stretta integrazione con l'infrastruttura del sistema operativo sottostante , ad esempio per far rispettare il copyright di un prodotto software.

Molti programmi di installazione su Windows forniscono un flag /eo /extract. ad es. setup.exe /eper consentire l'estrazione del contenuto dell'archivio senza che il programma di installazione esegua il suo script di installazione. Di recente ho dovuto fare proprio questo .

Verso la portabilità

Gli installatori sono quasi diventati una norma per la fornitura di software professionale, non importa quanto siano semplici le risorse software sottostanti. Con un numero crescente di utenti esperti di computer e il desiderio di migrare le proprie applicazioni da un desktop all'altro, il software portatile , spesso distribuito in un semplice archivio, sta diventando sempre più popolare.

( Non so quanto tempo ho dedicato agli installatori, ma è decisamente all'ordine dei giorni. )

Le attività che il programma di installazione può gestire sono:

  • disimballaggio (spesso utilizzando archivi esotici ad alta compressione)
  • garantendo i requisiti hardware di sistema
  • garantendo sufficiente spazio sul disco rigido
  • garantire i requisiti di runtime della piattaforma software (ad esempio "ridistribuibili")
  • verifica aggiornamenti software più recenti
  • scaricare il software da un repository remoto
  • creazione e / o aggiornamento di file e cartelle di programma
  • creare file di configurazione, voci di registro o variabili di ambiente
  • installare driver software, montare o smontare dispositivi
  • aumentare l'accessibilità per gli utenti di tutti i giorni, spiegando i passaggi dell'installazione, creando collegamenti, collegamenti
  • promuovere il proprio software tramite segnalibri, ecc ...
  • creare incentivi per l'utente all'avvio effettivo del software, presentando i punti chiave del software durante l'installazione, slide by slide
  • creare entrate aggiuntive, attraverso il raggruppamento di software
  • configurare i moduli del kernel e far funzionare automaticamente i componenti (ad es. demoni, servizi di Windows)
  • patching automatico del software
  • impostazione delle autorizzazioni per cartelle, file e utenti
  • la creazione di GUID per accoppiare il software a un'istanza di installazione specifica e, ad esempio, impedire la portabilità

... Se riesci a pensare ad altri punti, fammi sapere e li incorporerò.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.