安装Windows服务时的凭据

Kei*_*ith 53 c# install windows-services

我正在尝试使用VisualStudio.Net部署项目安装C#windows服务项目.

要运行部署项目,我右键单击并从上下文菜单中选择"安装",安装向导将运行,并最终通过"设置服务登录"对话框提示我,该对话框要求输入用户名和密码.

当我从命令行使用sc实用程序安装服务时,我不必提供凭据.

我是否必须为此服务创建登录?我宁愿像其他服务那样使用"本地系统"或"网络服务"(不确定区别是什么).

ant*_*res 102

将此代码添加到Windows服务项目InitializeComponent()中的projectInstaller.Designer.cs文件中的私有void 方法.

this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
Run Code Online (Sandbox Code Playgroud)

如果您处理安装程序的定义是:

private System.ServiceProcess.ServiceProcessInstaller serviceProcessInstaller1;
Run Code Online (Sandbox Code Playgroud)

  • 由于代码点在设计器生成的代码中,我只是通过打开设计器,获取serviceProcessInstaller1对象的属性,然后在Account的下拉列表中选择LocalSystem来做同样的事情. (3认同)

Dav*_*vid 20

查看此链接:http://msdn.microsoft.com/en-us/library/zt39148a(v = vs.110).aspx

请注意以下部分:为您的服务创建安装程序

对ServiceProcessInstaller进行更改:

在设计器中,单击Visual Basic项目的ServiceProcessInstaller1,或Visual C#项目的serviceProcessInstaller1.将Account属性设置为LocalSystem.这将导致服务安装并在本地服务帐户上运行.