J'ai créé un service Windows dont le compte est défini sur utilisateur. Ce qui signifie que lorsque j'installe le service, je dois passer un nom d'utilisateur et un mot de passe. Est-il possible de définir ces peut-être dans la classe ProjectInstaller peut-être dans l'événement BeforeInstall? si c'est le cas, comment?Est-il possible de définir par programme le compte d'utilisateur pour un service Windows?
Répondre
Jetez un oeil à System.ServiceProcess.ServiceProcessInstaller
Jetez un oeil à DynamicInstaller from CodeProject
Il y a un peu plus sur le réglage des paramètres de service et d'autres choses dans A Windows Service without a template Sa page 5 dans le bit sur la personnalisation d'un service.
Normalement, vous serez en mesure de transmettre ces informations d'identification à la classe Installer. Vous pouvez le coder en dur ou le passer en argument de ligne de commande. La seconde approche est plus appropriée, mais elle nécessitera que vous analysiez les arguments de ligne de commande inutilement.
Je vous propose une troisième approche ...
<ShamelessPlug>
Salut! Je suis un développeur pour un source windows service hébergement cadre appelé Daemoniq. Et en passant les informations d'identification via la ligne de commande est l'une des fonctionnalités de . Vous pouvez le télécharger à partir http://daemoniq.org
caractéristiques actuelles comprennent:
emplacement de service agnostique conteneur
- via les CommonServiceLocator
- définir les propriétés de services communs comme serviceName, DisplayName Description et serviceStartMode via app.config
- exécuter plusieurs services Windows sur le même processus
- définir les options de récupération via app.config
- services fixes dépendaient via app.config
- ensemble des informations d'identification de processus de service via la ligne de commande
- installer, désinstaller, les services de débogage via la ligne de commande
</ShamelessPlug >
À votre santé!
plug sans vergogne pour quelque chose qui n'est plus là. – Grubsnik
L'ajout ci-dessous à un installateur de projet affectera les informations de connexion au service pendant l'installation.
public ProjectInstaller()
{
InitializeComponent();
serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.<account type>;
serviceProcessInstaller1.Username = <domain\userId>;
serviceProcessInstaller1.Password = <password>;
}
Si vous ne spécifiez pas de compte dans le code et que la propriété ServiceProcessInstaller pour compte est définie sur Utilisateur, une boîte de dialogue de formulaire s'ouvrira pendant l'installation permettant à la personne effectuant l'installation de spécifier un compte utilisateur et un mot de passe. – JohnL
- 1. Comment arrêter un service Windows par programme?
- 2. Modifier l'utilisateur du service Windows par programme
- 3. Le compte d'utilisateur réseau IIS peut-il appeler un service WCF s'exécutant sous un autre compte?
- 4. Obtention de paramètres pour le service Web par programme?
- 5. Définir asp: Contenu par programme
- 6. Comment calculer par programme si un compte d'utilisateur est un membre d'un groupe particulier dans Windows?
- 7. Le script Powershell permet de modifier le compte de service
- 8. Définir le contenu ASP: ContentPlaceHolder par programme
- 9. Définir par programme Windows Live Messenger Afficher l'image
- 10. Définir un message d'affichage de messagerie instantanée par programme
- 11. Quel SPN dois-je définir pour un service net.tcp?
- 12. Programme d'installation msi pour le service wcf
- 13. Le programme d'installation de Windows peut-il par défaut être un programme pour utiliser le mode de compatibilité XP?
- 14. Windows Vista/7 Connectez-vous par programme
- 15. Est-il possible de définir par programme l'attribut comment sur un fichier dans XP?
- 16. NSIS pour définir le programme par défaut pour lancer le type de fichier spécifié
- 17. Est-il possible de surveiller les installations par le service Windows Installer?
- 18. Définir sqlAuthCookie pour le service d'exécution SSRS
- 19. Utilisez ServiceController pour commencer un service avec un autre compte
- 20. Problème de service Windows - Le compte LocalSystem ne peut pas lire le fichier
- 21. Est-il possible de remplir un formulaire Ajax par programme?
- 22. Le programme d'installation du service C# - Windows n'enregistre pas le service
- 23. Comment définir par programme des paramètres pour EntityDataSource et DetailsView?
- 24. Comment faire pour définir par programme entre WSS et MOSS
- 25. Comment définir un redémarrage automatique du service Windows dans PowerShell?
- 26. une Ext.TextField définir par programme pour être valide
- 27. La différence entre le compte 'Système local' et le compte 'Service réseau'?
- 28. Définir par programme le nom d'utilisateur et le mot de passe pour mon rapport Crystal?
- 29. Comment définir le délai d'expiration d'un programme?
- 30. Définir par programme l'icône de dossier/répertoire personnalisée sous Linux
Pouvez-vous utiliser ceci pour définir le nom d'utilisateur et mot de passe à l'exécution (plutôt que de la compilation)? N'auriez-vous pas besoin de pouvoir accéder aux programmes d'installation déjà compilés dans votre exécutable de service? Je vais probablement devoir aller sur la route WMI à la place. –
Votre service peut avoir sa propre classe d'installation qui hérite de "System.Configuration.Install.Installer". Nous utilisons cette classe héritée et nous lui associons un formulaire. Le formulaire apparaît pendant l'installation et invite à diverses choses, y compris l'utilisateur/mot de passe. Ensuite, dans la classe Installer, vous redéfinissez OnBeforeInstall et vous définissez Moi.ServiceProcessInstaller1.Username. – MattH
Et modifier le compte de service Windows pour WinService qui existe encore? – Kiquenet