f3-logo-flexerasoftware

Nous allons utiliser les fonctions d’InstallShield pour déployer un exécutable en tant que service.
Pour cela il vous faudra une feature.

creerservice1
Pensez à modifier le DisplayName ainsi que les options (Display, Required) qui modifierons les paramètres si l’utilisateur n’utilise pas l’installation par défaut.
Créons ensuite un Components qui contiendra uniquement notre service
creerservice2
Pensez à modifier si besoins le répertoire de destination.
creerservice3
Déployez le composant
creerservice4
En cliquant sur services, l’affichage change dans le panneau de droite
creerservice5
Dans ce panneau, sur Services cliquez droit\Add service
creerservice6
Changez le nom de celui-ci puis renseignez la partie Enable Service Install
creerservice7

Key NameNom de la clé pour le service. Ce nom est une clé de base de données, elle n’est pas affichée pour les utilisateurs finaux.
Display NameNom affiché dans le gestionnaire de contrôle de service.
DescriptionDescription du service. Cette description est inscrite sur ​​le système cible lorsque le service est installé, elle est affichée dans la colonne Description du gestionnaire de contrôle de service. ainsi que dans la zone Description de l’onglet Général de la boîte de dialogue Propriétés du service.
Service TypeSélectionnez le type de service que vous installez. Les options disponibles sont:• Win32 qui s’exécute dans son propre processus• Win32 qui partage un processus Le type de service de WIN32_OWN_PROCESS contient le code pour un seul service. Le type de service de WIN32_SHARE_PROCESS contient le code pour plus d’un service, leur permettant de partager du code.
Interact with DesktopIndiquez si le service interagit avec le bureau. Si votre service possède une interface utilisateur, sélectionnez Oui.
Start TypeOption de démarrage. Les options disponibles sont:• Automatic : Le service démarre automatiquement au démarrage du système.• On demand : le service démarre lorsque le service est demandé par le gestionnaire de contrôle de service.• Disabled : Le service ne peut pas être démarré. Notez que certains services peuvent prendre en charge d’autres types de départ. Toutefois, ces options ne sont pas disponibles pour le paramètre Type de démarrage, car le programme d’installation de Windows ne les prend pas en charge.
Error ControlSélectionnez l’action   que le gestionnaire de contrôle de service doit effectuer si le service ne démarre pas. Les options disponibles sont:• loguer l’erreur et continuer• loguer l’erreur, afficher un message, et continuer• loguer l’erreur et redémarrer
Abort Install on FailureIndique si toute l’installation échoue si le service ne peut pas être installé. La valeur par défaut est No.Remarque: Si vous sélectionnez Oui pour ce paramètre, Windows Installer 3 ou ultérieur doit être présent sur ​​le système cible.
Load Order GroupSi votre service doit appartenir à un groupe le préciser ici
DependenciesEntrez les dépendances entre services ou groupe de service séparées par une virgule. L’ordre de la liste est l’ordre de démarrage. Vous devez faire précéder le nom de chaque groupe avec le SC_GROUP_IDENTIFIER, généralement le signe plus (+).
User NameEntrez le compte sous lequel le service sera connecté. Pour installer le service sous le compte système local, laissez ce paramètre vide. Si le type de service est “Win32 qui s’exécute dans son propre processus”, la valeur que vous devez entrer doit utiliser le format suivant: NomDomaine\NomUtilisateur
PasswordMot de passe de l’utilisateur. Vide pour une exécution en compte système local
Start ParametersEntrez les paramètres de ligne de commande ou des propriétés qui sont nécessaires pour exécuter le service.
PermissionsCe paramètre vous permet de définir des autorisations pour votre service. Pour configurer les autorisations, cliquez sur le bouton Add New Service Permissions.

Modifiez Control Settings
creerservice8
Créez un nouvel événement.
creerservice9
Faites vos choix de démarrage ou de suppression du service.

Key NameNom de clé pour l’événement de contrôle. Le nom de la clé est un nom interne; elle n’est pas affichée.
Operation TimePlanifier l’opération qui se produit au moment de l’exécution :• Install Start : Si vous sélectionnez Oui, le service démarre lorsque l’installation atteint l’action StartServices dans la séquence d’installation.• Install Stop : Si vous sélectionnez Oui, le service s’arrête lorsque l’installation atteint l’action StopServices dans la séquence d’installation.• Install Delete : Si vous sélectionnez Oui, le service est supprimé lorsque l’installation atteint l’action DeleteServices dans la séquence d’installation.

• Uninstall Start : Si vous sélectionnez Oui, le service démarre lorsque la désinstallation atteint l’action StartServices dans la séquence d’installation.

• Uninstall Stop : Si vous sélectionnez Oui, le service s’arrête lorsque la désinstallation atteint l’action StopServices dans la séquence d’installation.

• Uninstall Delete : Si vous sélectionnez Oui, le service est supprimé lorsque la désinstallation atteint l’action DeleteServices dans la séquence d’installation.

Wait TypeSpécifiez la manière dont Windows Installer doit procéder après l’événement de contrôle. Les options disponibles sont :• Wait for the event to complete : Windows Installer attend pour la fin de l’événement starting, stopping ou deleting , jusqu’à un maximum de 30 secondes, avant de continuer. Sélectionnez cette option si l’événement est essentiel pour l’installation et que vous souhaitez lui laisser plus de temps pour retourner une erreur ou un échec.• Wait for the SCM : Le programme d’installation attend pour signaler que le service est dans un état d’attente.
Service ArgumentSpécifiez les arguments que vous voulez passer au service. Séparez les différents arguments par une virgule (,).

Il nous faut maintenant ajouter à notre composant le ou les fichiers du service. Je vous conseille de ne pas mettre plus d’un exécutable dans ce component.
Pour cela allez dans la partie Files du component et dans la partie droite faite un clic droit\Add.
creerservice10
Choisissez votre fichier. Il vous sera alors demander si vous souhaitez l’intégrer dans le MSI (via fichier cab ou non) ou l’avoir en dehors.
creerservice11
creerservice12
Après l’ajout, n’oubliez pas le clic droit\Set Key File pour la gestion de la réparation.
creerservice13
Il ne vous reste qu’a bien rattacher votre component à votre feature. Si vous avez besoins d’aide pour le faire allez voir cet article : https://les2t.fr/installshield-files-and-folders-accrocher-un-composent-a-une-autres-features/