使用.NET Freamework 创建windows 服务
今天有需求需要新写一个windows 服务,发现资料找不到了。顺着模板一点一点写,需要对照微软的资料。这里自己重新整理一份,由于不需要使用跨平台,所以我还是使用.NET Framework 4.8下的windows 服务。微软文档地址如下:
如何:创建 Windows 服务 - .NET Framework | Microsoft Learn
使用模板创建Windows 服务
打开vs 新建项目,选择windows 服务=》创建。
在创建成功的项目上打开解决方案资源管理器。找到Service1.cs打开属性面板。
ServiceName 可以修改为自己想起的名字,这个是用于显示在服务里面的。
点击下面的添加安装程序。在左侧弹出的面板中选择serviceProcessInstanller1 点击右键属性,选择Account 设置不同的权限,因为我只是做进程守护,没有高权限需求,所有我选择User。选择面板如下图,选择Account设置没有截图。
在左侧弹出面板中选择serviceInstaller1点击右键属性,选择StartType,我选择了服务自动启动。
以上设置就完成了基本设置,我们开始编写服务里面的一些简单内容。然后开始进行安装操作。
安装分为安装包打包安装和测试环境安装,文档如下:
如何:安装和卸载 Windows 服务 - .NET Framework | Microsoft Learn
使用 PowerShell 安装
-
从“开始”菜单中,搜索“Windows PowerShell”,然后选择它。
-
导航到你的项目的已编译可执行文件所在的目录。
-
运行 New-Service cmdlet,并将一个服务名称和你的项目的可执行文件作为参数:
New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe//示例 New-Service -Name "TestService" -BinaryPathName C:\Codes\Service\TestService\bin\x64\Debug\TestService.exe
打开任务管理器左侧最下面的服务中就可以看到对应的服务。
使用 PowerShell 卸载
Remove-Service -Name "YourServiceName"
//示例 Remove-Service -Name "TestService"
sc.exe delete "AISharingService"
打包等一些后续操作需要签名、目录签名等认证方式,不同的安装不一样,所以这一部分不写了。哈哈哈但是都是文档里面的。可以自己翻一下。