Que fait exactement un installateur et pourquoi pourrais-je en avoir besoin?

34

c'est probablement la question noob du jour:

Donc j'ai écrit ce jeu.

Maintenant, il y a le fichier .exe qui fait le travail, un dossier avec mes belles et belles ressources et un tas de fichiers .dll et d'autres choses que je ne devrais probablement pas toucher. Pour lancer le jeu, je copie tout le contenu sur l'ordinateur souhaité, double-clique sur le fichier .exe et commence à photographier des mecs. Yay!

Mais quelle est exactement la différence entre cela et l’utilisation d’un programme d’installation? Que fait un installateur en dehors de la copie de fichiers et d’une apparence plus professionnelle qu’un fichier .zip? Existe-t-il généralement beaucoup de correctifs / configurations lorsque vous essayez de faire tourner un jeu sur un autre ordinateur? J'ai testé mon jeu sur tous les ordinateurs Windows sur lesquels je pouvais mettre mes doigts gourmands et cela fonctionne très bien.

HumanCatfood
la source
1
Dans XNA, par exemple, vous avez besoin du runtime XNA. Ou avec SlimDX, vous avez besoin de SlimDX.dll dans votre répertoire de jeu ou dans GAC.
Kikaimaru
Hm, je comprends ça. Mais ces fichiers .dll dont j'ai besoin (dans mon cas, sdl.dll et ses sbires) se trouvent déjà dans le même répertoire que le fichier .exe et sont copiés au fur et à mesure que je copie le reste. Que ferait un installateur différemment?
HumanCatfood
2
@Jan L'utilisateur final n'a pas à s'inquiéter de placer des fichiers ou non. C'est quelque chose qui se fait pour eux.
Sidar
1
Quelque chose à penser: quelle est la taille de votre jeu? C'est-à-dire qu'il s'agit d'un petit fichier exe de style indépendant, d'une ou deux DLL et de quelques images, ou s'agit-il d'une énorme tâche nécessitant l'installation de toutes sortes de programmes d'exécution. Si c'est quelque chose de relativement petit, un fichier exe dans un zip peut être suffisant et peut aider à surmonter la réticence de l'utilisateur à installer des jeux aléatoires qu'il pourrait vouloir supprimer après cinq minutes de lecture.
Piku
1
Parler des installateurs… un élément souvent négligé est un bon désinstallateur. J'ai perdu le compte de combien de fois j'ai dû enlever les fichiers restants et / ou les clés de registre. Ce qui est particulièrement irritant lorsque ces restes posent des problèmes lors de la réinstallation du jeu.
Exilyth

Réponses:

34

Le programme d'installation est généralement là pour faciliter les choses pour l'utilisateur final. Il combine les éléments suivants:

  • Décompression
  • Création de répertoires
  • Installation des runtime requis (redistribuables tels que: .Net, Visual C ++, Direct x)
  • Enregistrement avec le système d'exploitation (pour une désinstallation propre ultérieure)
  • Affichez de superbes captures d'écran pour préparer le joueur à votre jeu pendant que celui-ci fonctionne.
  • Offrir à l'utilisateur la possibilité d'enregistrer son jeu
  • Téléchargement des mises à jour pour les actifs ou les correctifs du jeu
  • Ajouter des icônes au menu de démarrage ou au bureau
  • Définissez les autorisations appropriées pour différents répertoires de jeu (dossier temporaire, répertoire de sauvegarde, etc.)
  • Il suffit de l’installer déjà , de permettre à l’utilisateur de cliquer sur Suivant sans réfléchir et de commencer à jouer!
MichaelHouse
la source
Oh oui, je n'avais pas pensé à cela, il faudrait peut-être installer des runtimes. Merci!
HumanCatfood
2
De plus, n'oubliez pas de configurer les droits d'accès aux fichiers! Votre jeu n’est pas garanti d’avoir un accès en écriture sur son dossier (pour les sauvegardes, etc.) à moins qu’un installateur ne le configure.
Nevermind
10
+1 La plupart des utilisateurs finaux ne sont même pas à l'aise avec la décompression d'un fichier. Le programme d'installation devrait donc proposer un chemin d'installation par défaut et le "faire, tout simplement" pour eux. De nombreux utilisateurs finaux ne savent pas ce qu'est un système de fichiers ni comment localiser des fichiers en dehors des chemins d'accès aux documents par défaut qui leur sont présentés. Et franchement, pourquoi diable devraient-ils même avoir besoin de savoir? Pensez à l'installateur comme à un app-store médiocre, il ne faut qu'un clic pour commencer à jouer, pas plus.
Oskar Duveborn le
Eh bien, cela dépend vraiment de votre public cible.
API-Beast
3
Je voudrais aussi ajouter de la cohérence à la liste des raisons. En fournissant un programme d'installation, vous vous assurez que l'utilisateur dispose d'une configuration compatible avec les autres utilisateurs. Sinon, vous vous retrouvez avec des choses folles, comme par exemple décompresser le jeu sur son bureau et le lancer à partir de là (oui, j'ai déjà vu cela se produire). En utilisant une configuration bien-connue cohérente et supprime un grand nombre de choses qui peuvent mal tourner, et facilite le travail de dépannage quand les choses ne tournent mal.
Maximus Minimus
3

Un programme d'installation résume le processus de déploiement d'éléments informatiques complexes , généralement contenus dans des archives, via une interface utilisateur pratique et autonome .

Cette interface utilisateur peut être graphique ou basée sur du texte qui est affiché sur une ligne de commande telle que le shell Unix (par exemple, bash). Dans le cas des installateurs graphiques, on utilise le plus souvent ce qu'on appelle une installation-bootstrapper, dans ce dernier cas, des scripts d'installation qui peuvent être des scripts bash, des scripts de traitement par lots Microsoft ou tout autre langage de script s'exécutant sur une ligne de commande.

Dans le cas le plus simple, une application est simplement un fichier exécutable, le système d’exploitation sachant quoi faire pour utiliser le fichier. Le fichier d’application peut résider dans un dossier contenant des sous-dossiers et d’autres fichiers auxiliaires, regroupés dans une archive . Dans ce cas, aucun installateur ne sera peut-être nécessaire.

Pour les logiciels complexes , des plates-formes logicielles complètes et une intégration étroite avec l'infrastructure de système d'exploitation sous-jacente peuvent être souhaitables, par exemple pour faire respecter le droit d'auteur d'un produit logiciel.

De nombreux installateurs sous Windows fournissent un indicateur /eou un /extractindicateur. par exemple, setup.exe /epour autoriser l'extraction du contenu de l'archive sans que le programme d'installation n'exécute son script d'installation. J'ai récemment eu besoin de faire cela .

Vers la portabilité

Les installateurs sont presque devenus une norme pour la fourniture de logiciels professionnels, aussi simples que soient les actifs logiciels sous-jacents. Avec un nombre croissant d'utilisateurs avertis en informatique et le désir de migrer leurs applications d'un poste de travail à un autre, les logiciels portables , souvent livrés sous forme d'archive simple, deviennent de plus en plus populaires.

( Je ne sais pas combien de temps au total j'ai passé chez les installateurs, mais c'est certainement dans l'ordre des jours. )

Les tâches que l'installateur peut gérer sont les suivantes:

  • déballage (utilisant souvent des archiveurs exotiques à haute compression)
  • assurer la configuration matérielle requise
  • assurer un espace disque suffisant
  • assurer les exigences d'exécution de la plate-forme logicielle (par exemple, 'redistribuables')
  • vérification des mises à jour logicielles les plus récentes
  • téléchargement du logiciel à partir d'un référentiel distant
  • créer et / ou mettre à jour des fichiers de programme et des dossiers
  • créer des fichiers de configuration, des entrées de registre ou des variables d'environnement
  • installer des pilotes de logiciels, monter ou démonter des périphériques
  • augmenter l'accessibilité pour les utilisateurs quotidiens, en expliquant les étapes d'installation, en créant des liens, des raccourcis
  • promouvoir son propre logiciel à travers des marque-pages, etc ...
  • créer une incitation pour l'utilisateur à démarrer le logiciel, en présentant les points clés du logiciel lors de l'installation, diapositive par diapositive
  • créer des revenus supplémentaires grâce au groupement de logiciels
  • configurer les modules du noyau et exécuter automatiquement les composants (par exemple, les démons, les services Windows)
  • correction automatique du logiciel
  • définition des autorisations de dossier, de fichier et d'utilisateur
  • création de GUID pour associer le logiciel à une instance d'installation spécifique et, par exemple, empêcher la portabilité

... Si vous pouvez penser à d'autres points, faites le moi savoir et je les incorporerai.

Lorenz Lo Sauer
la source