新建和发布Windows服务的几个常见问题

1.  如何安装服务?

利用.Net Framework带的服务安装工具InstallUtil.exe,它位于c:\windows\Microsoft.Net\Framework\v1.1.4322\文件夹下。

打开Visual Studio .Net 200* 命令提示,安装命令是:

InstallUtil c:\test.exe    (c:\test.exe则为需要安装的windows服务,如果路径上带空格,则需要在外面添加引号,例如:InstallUtil "c:\program files\test.exe")

如果是打开的Dos命令控制台,则需要在InstallUtil前,加上路径,命令格式如下:

c:\windows\Microsoft.Net\Framework\v1.1.4322\InstallUtil.exe c:\test.exe

卸载服务,在InstallUtil后添加-u参数即可:

InstallUtil -u c:\test.exe

2. 安装时,弹出对话框,需要输入用户名和密码,如何去掉输入框?

在Visual Studio开发环境下,打开windows服务项目,找到文件ProjectInstaller.cs,该文件是新建windows服务后,自带的安装文件,里面包含了安装服务的密码、服务名等设置,和初始化的方法。

查看代码,找到方法InitializeComponent(),将登陆帐户设置为系统本地帐户即可:

this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;

3. Windows服务名如何修改?

安装好服务之后,我们可以在“服务”的窗口中,看到你注册的服务组件了,右键菜单中有开始服务的选项。那么服务名如何修改呢?

同样在ProjectInstaller.cs类中的InitializeComponent()方法中,添加设置:

this.serviceInstaller1.DisplayName = "Test Server";

注意:这个只是服务的别名,事实上服务的实际名称是this.serviceInstaller1.ServiceName,而如果你注册服务时,有两个windows服务的ServiceName一致的话,将会抛出服务已存在的异常(即使你的DisplayName不一样)。

4. 找不到配置文件。

如果Windows服务带了除App.cofig之外的配置文件,则需要将它拷贝到安装.exe文件所在的目录,例如:如果你安装c:\test.exe服务,则需要将该配置文件拷贝到c:\目录下。

原文地址:https://www.cnblogs.com/xiaofengfeng/p/2277603.html