如何使用Visual Studio 2010将Windows控制台应用c#项目转换为Windows Service
本文关键字:Windows 项目 转换 Service 应用 控制台 Studio Visual 2010 何使用 | 更新日期: 2023-09-27 18:06:18
我使用本教程使用Visual Studio 2010和它的库存控制台应用程序项目创建c# Windows服务,但在我改变了一切并试图安装它之后:
"C:'Windows' microt.net 'Framework'v4.0.30319'installutil"/i myservice.exe
我在控制面板的服务列表中没有看到我的服务。然后我检查了installutil
的输出,发现了这个消息:
删除InstallState文件,因为没有安装程序。
我不确定它为什么这么说,因为我确实有一个安装程序类,定义如下:
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);
}
}
}
我哪里做错了?
好的,我知道了。两个错误:
-
安装程序类必须声明为
public
-
前面必须有
[RunInstaller(true)]
属性
:
namespace MySrvr
{
[RunInstaller(true)]
public class MyServiceInstaller : System.Configuration.Install.Installer
{
}
}
installutil
的版本与此无关