Nous allons utiliser les fonctions d’InstallShield pour déployer un exécutable en tant que service.
Pour cela il vous faudra une feature.
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
Pensez à modifier si besoins le répertoire de destination.
Déployez le composant
En cliquant sur services, l’affichage change dans le panneau de droite
Dans ce panneau, sur Services cliquez droit\Add service
Changez le nom de celui-ci puis renseignez la partie Enable Service Install
Key Name | Nom 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 Name | Nom affiché dans le gestionnaire de contrôle de service. |
Description | Description 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 Type | Sé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 Desktop | Indiquez si le service interagit avec le bureau. Si votre service possède une interface utilisateur, sélectionnez Oui. |
Start Type | Option 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 Control | Sé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 Failure | Indique 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 Group | Si votre service doit appartenir à un groupe le préciser ici |
Dependencies | Entrez 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 Name | Entrez 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 |
Password | Mot de passe de l’utilisateur. Vide pour une exécution en compte système local |
Start Parameters | Entrez les paramètres de ligne de commande ou des propriétés qui sont nécessaires pour exécuter le service. |
Permissions | Ce 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
Créez un nouvel événement.
Faites vos choix de démarrage ou de suppression du service.
Key Name | Nom 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 Time | Planifier 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 Type | Spé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 Argument | Spé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.
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.
Après l’ajout, n’oubliez pas le clic droit\Set Key File pour la gestion de la réparation.
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/