WiX ServiceInstall - définition du service de l'exécuter en tant qu'utilisateur windows actuel
Je suis de l'installation d'un service Windows à l'aide de WiX. Comment puis-je faire le service exécuté dans le contexte de l'Utilisateur Windows qui exécute le programme d'installation?
Pourquoi voulez-vous exécuter le service en tant qu'utilisateur actuel? Une grande partie de la pointe d'un service est d'être capable de s'exécuter lorsque aucun utilisateur n'est connecté et être en mesure de fonctionner en tant que LocalSystem pour faciliter les droits d'admin pour le fichier exécutable. Je suis sûr que vous avez une bonne raison...
L'une des raisons pourquoi vous devez l'exécuter en tant qu'utilisateur particulier, c'est qu'il a besoin d'une connexion à SQL server et SQL server est configuré pour utiliser l'Authentification Windows... il est plus facile de ne pas avoir à ajouter le "Service Local" à la liste des Utilisateurs de SQL.
L'une des raisons pourquoi vous devez l'exécuter en tant qu'utilisateur particulier, c'est qu'il a besoin d'une connexion à SQL server et SQL server est configuré pour utiliser l'Authentification Windows... il est plus facile de ne pas avoir à ajouter le "Service Local" à la liste des Utilisateurs de SQL.
OriginalL'auteur kjv | 2009-09-28
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'avoir à la fois le nom du compte et le mot de passe de l'utilisateur que vous souhaitez exécuter le service. J'ai été en mesure d'accomplir par l'ajout d'une INTERFACE utilisateur personnalisée pour mon installateur demandant un Nom d'Utilisateur et le Mot de passe, puis en utilisant les valeurs fournies pour le Compte et le Mot de passe d'attributs sur la ServiceInsall élément.
Noter que ce compte est utilisé pour exécuter le service aura besoin d'avoir la session en tant Que Service privilégié. Ce n'est pas accordée pour les utilisateurs par défaut. J'ai été en mesure d'utiliser l'élément User de la UtilExtension schéma pour ajouter cette priveledge à l'utilisateur. Ajouter le privilège de l'utilisateur réussir seulement si l'utilisateur qui exécute le programme d'installation est un administrateur.
Voici le code que j'ai utilisé. SERVICECREDENTIALS_USERLOGIN et SERVICECREDENTIALS_PASSWORD sont les propriétés remplie à partir de l'INTERFACE utilisateur personnalisée.
Le code de travail? réglage de la LogonAsService privilège et de l'identité de service ne semble pas être prévue de manière séquentielle, dans le résultat .package msi. Pour cette raison, l'installation échoue... Ou alors j'ai loupé quelque chose?
OriginalL'auteur jhs