是否可以以编程方式设置Windows服务的用户帐户?

时间:2009-08-05 15:39:40

标签: c# windows vb.net windows-services

我创建了一个将帐户设置为user的Windows服务。这意味着当我安装服务时,我需要传递用户名和密码。有没有办法在ProjectInstaller类中设置这些可能在BeforeInstall事件中?如果是这样怎么样?

5 个答案:

答案 0 :(得分:4)

以下对项目安装程序的添加将在安装期间分配服务登录信息。

    public ProjectInstaller()
    {
        InitializeComponent();

        serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.<account type>;
        serviceProcessInstaller1.Username = <domain\userId>;
        serviceProcessInstaller1.Password = <password>;
    }

答案 1 :(得分:3)

答案 2 :(得分:1)

答案 3 :(得分:0)

有关设置服务参数和内容的一些内容,请参阅第5页的A Windows Service without a template中有关自定义服务的内容。

答案 4 :(得分:-1)

通常,您可以将这些凭据传递给Installer类。您可以对其进行硬编码或将其作为命令行参数传递。第二种方法更合适,但它需要您不必要地解析命令行参数。

我向你提出第三种方法......

&LT; ShamelessPlug&GT;

  

嗨!我是开放的开发者   源Windows服务托管   称为Daemoniq的框架。并且通过   通过命令行的凭据是其中之一   它的功能。你可以从下载   http://daemoniq.org

     

目前的功能包括:

     
      
  • 通过CommonServiceLocator
  • 与容器无关的服务位置   
  • 设置常用服务属性,如serviceName,displayName,description   和serviceStartMode通过app.config
  •   
  • 在同一进程上运行多个Windows服务
  •   
  • 通过app.config设置恢复选项
  •   
  • 依据via app.config
  • 设置服务   
  • 通过命令行
  • 设置服务流程凭据   
  • 通过命令行安装,卸载,调试服务
  •   

&LT; / ShamelessPlug&GT;

干杯!