0

J'essaie de configurer et d'installer un service dans InstallShield 2016. J'ai ajouté le service en utilisant l'assistant de composant. Lorsque j'ai exécuté le programme d'installation, la fenêtre contextuelle Window Installer est apparue sur mon écran avec les différentes options pouvant être transmises au service. Comment puis-je transmettre ces options au service? J'ai essayé de créer le service en utilisant l'assistant de composant et sans l'assistant de composant. Dans les deux cas, c'était le même résultat que décrit ci-dessus. J'ai cherché sans succès des explications sur la façon de le faire.InstallShield 2016 n'installant pas le service

Captures d'écran des réglages et une fenêtre pop-up:

enter image description here

enter image description here

+0

Etes-vous en train d'essayer d'installer le programme de lancement de votre installation en tant que service? Normalement, vous installez un exe ou dll (qui est placé sur la machine par votre installation) en tant que service. –

+0

Il existe un fichier exe et un fichier msi placés sur un dossier de la machine cible. J'essaie de déjeuner ce fichier exe. –

+0

Est-ce un service exe ou un lanceur d'installation? Le fait que MSI apparaisse (vraisemblablement quand ce fichier est invoqué, vérifier avec un outil comme procmon si vous êtes incertain) suggère que c'est le dernier. –

Répondre

-1

Enfin, j'ai réussi à faire fonctionner cela. Je suis un novice de Installshield. C'était la toute première fois que je l'utilisais.

  1. Michael Urman a été très utile.
  2. J'ai lu la documentation sur la façon de lancer msi en utilisant msiexec.exe, et je suis toujours confus. Selon la documentation, l'action différée doit être entre InstallInitialize et InstallFinalize et le traitement de retour doit être synchrone (wait exit code). Toutefois, le système s'est plaint qu'une autre installation était en cours, il n'installait donc pas le service. Pour contourner cela, j'ai mis le répertoire de travail à [service] (le dossier qui contient mes fichiers msi et exe), j'ai mis la ligne de commande à msiexec.exe/i "[SERVICE] UserAgent. msi "/ qn, je mets le traitement de renvoi à asynchrone (pas d'attente pour l'achèvement), installe la séquence d'exécution à après le redémarrage planifié, et ajoute une condition pour vérifier que non installé.

  3. Avec ces options, j'ai été en mesure d'installer le service en mode silencieux. Cependant, il ne sera pas désinstallé lors de la désinstallation de l'application. Il doit être désinstallé manuellement

1

Cette boîte de dialogue d'erreur est affiché lorsqu'une ligne de commande msiexec est incorrecte. Ce que vous faites n'est pas clair, mais vous n'exécutez pas de commande msiexec sur un service ou un fichier exe. Vous créez un fichier MSI puis l'installez et ce fichier MSI installe le service. Même si vous exécutez une ligne de commande msiexec sur un fichier MSI que vous avez créé, il est incorrect.

+0

Non, je n'exécute pas msiexec et ne passe aucun argument de ligne de commande. –