gpt4 book ai didi

c# - 如何使用 Visual Studio 2010 将 Windows 控制台应用程序 C# 项目更改为 Windows 服务?

转载 作者:行者123 更新时间:2023-12-02 22:08:58 25 4
gpt4 key购买 nike

我用了this tutorial使用 Visual Studio 2010 及其库存控制台应用程序项目创建 C# Windows 服务,但在我更改所有内容并尝试这样安装之后:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil" /i myservice.exe

我在控制面板的服务列表中看不到我的服务。然后我检查了 installutil 的输出并发现了这条消息:

Remove InstallState file because there are no installers.

我不确定为什么会这样说,因为我确实有一个安装程序类,定义如下:

namespace MySrvr
{
class MyServiceInstaller : System.Configuration.Install.Installer
{
public MyServiceInstaller()
{
ServiceProcessInstaller process = new ServiceProcessInstaller();

process.Account = ServiceAccount.LocalSystem;

ServiceInstaller serviceAdmin = new ServiceInstaller();

serviceAdmin.StartType = ServiceStartMode.Automatic;

serviceAdmin.ServiceName = "MyServiceName";
serviceAdmin.DisplayName = "My Service Display Name";
serviceAdmin.Description = "My Service Description";

Installers.Add(process);
Installers.Add(serviceAdmin);
}

}
}

那么我做错了什么?

最佳答案

好的,我知道了。两个错误:

  1. 安装程序类必须声明为public

  2. 它前面必须有[RunInstaller(true)]属性。

因此:

namespace MySrvr
{
[RunInstaller(true)]
public class MyServiceInstaller : System.Configuration.Install.Installer
{
}
}

installutil 的版本与它无关。

关于c# - 如何使用 Visual Studio 2010 将 Windows 控制台应用程序 C# 项目更改为 Windows 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15672447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com