我在使用c#安装窗口服务时遇到问题。当我创建我的第一个窗口服务项目时,我遇到了以下问题: “无法从命令行或调试器启动服务。必须首先安装Windows服务(使用installutil.exe),然后使用ServerExplorer,Windows服务管理工具或NET START命令启动。”
然后我将program.cs编辑为:
static void Main()
{
if (System.Diagnostics.Debugger.IsAttached)
{
Service1 service = new Service1();
string[] args = new string[] { "arg1", "arg2" };
service.StartFromDebugger(args);
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
}
}
// Also added the following code
public partial class Service1 : ServiceBase
{
public void StartFromDebugger(string[] args)
{
OnStart(args);
}
}
然后这个问题就解决了。之后,当我通过添加新的安装项目创建该项目的.exe文件并将其安装在我的系统上时,它再次给我上述错误。 请帮助我......提前帮助
答案 0 :(得分:3)
安装服务的最简单方法如下:
转到CMD并以管理员身份运行
记下这个命令::
sc create YourServiceName displayname= "Service Name to be displayed" binpath= c:\YourService.exe start= demand
你的exe文件和config.exe的路径应该相同,以避免数据库连接问题。 一旦你运行它,它会给你一个成功的消息...
答案 1 :(得分:1)
您需要通过单击服务设计器窗格上的添加安装程序来添加服务安装程序。在youtube上使用C#创建和安装Windows服务有很棒的视频。
答案 2 :(得分:0)
安装Windows服务的最简单方法。在发布模式下构建您的Windows服务,然后复制bin版本中的所有文件,然后放入文件夹
打开命令提示符,以管理员身份运行进入该文件夹,然后使用此命令
installutil yourservicename.exe(在relese里面有一个文件)
卸载///
installutil / u yourservicename.exe(在relese里面有一个文件) 要么 installutil -u yourservicename.exe(在relese里面有一个文件)
欢呼声
答案 3 :(得分:-1)
Windows服务: 第1步:
First step is to add installer
第2步:
点击您的服务,显示显示名称
第3步:
Select Local system
第4步:
Open Developer command prompt
第5步:
InstallUtil your_service_path/Your_service_display_name.exe
第6步:
net start Your_service_display_name
这是链接
https://youtu.be/rG3Ts5CrTUA