找不到Windows服务(刚刚安装)

时间:2011-06-22 14:30:37

标签: c# visual-studio-2010 windows-7 .net-4.0 windows-services

我刚刚使用VS 2010安装了Windows服务,使用installutil.exe,cmd提示窗口表示提交阶段已成功完成,但我无法在本地服务文件夹中看到Windows服务。

我在这里想念的是什么?

我正在使用Windows 7和VS 2010

更新
我卸载了服务(名为service1),将名称更改为有意义的东西,安装了服务(与上面相同的过程),仍然无法在服务浏览器中找到它。

FWIW ...我在属性窗口(文件名值)中重命名了我的service1.cs ..但它仍然在服务浏览器中显示service1。我最后也改变了代码中的值(自动生成的代码)this.serviceInstaller1.ServiceName =“service1”;

更新(2) 我创建了一个虚拟Windows服务,并且能够成功安装(它提示我输入域登录ID和密码),我能够在服务浏览器中看到它。

但是,我无法在服务浏览器中看到实际的Windows服务(与我的项目相关)。显然我有权限,因为我能够安装虚拟服务。

根据此网站Can't see windows service after installation

我无法在“HKLM \ System \ CurrentControlSet \ Services”路径中看到注册表中的服务。

更新(3)
日志文件说

  

没有公共安装人员   RunInstallerAttribute.Yes属性   可以在C中找到:..

但是,我在项目解决方案中有一个ProjectInstaller.cs文件。

我添加了

  

[runInstaller的(真)]

到ProjectInstaller.cs文件,仍然没有运气

任何建议?

8 个答案:

答案 0 :(得分:8)

另请记住在列表中查找之前,请检查您提供服务的名称。我从网上复制粘贴了一些代码,忘了在代码中更改服务的名称,所以我当然找不到它......

serviceInstaller.DisplayName = "Example service"

卫生署!

答案 1 :(得分:4)

使用[RunInstaller(true)]属性检查Installer派生类的构造函数中是否有类似的内容:

public ServiceSetup()
{
    Installers.Clear();

    ServiceInstaller serviceInstaller = new ServiceInstaller();
    // serviceInstaller.Description = // FIXME:
    // serviceInstaller.ServiceName = // FIXME:
    // serviceInstaller.DisplayName = // FIXME:
    serviceInstaller.StartType = ServiceStartMode.Automatic;
    Installers.Add(serviceInstaller);

    ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller();
    serviceProcessInstaller.Account = ServiceAccount.LocalSystem;
    serviceProcessInstaller.Username = null;
    serviceProcessInstaller.Password = null;
    Installers.Add(serviceProcessInstaller);
}

答案 2 :(得分:2)

将您添加[RunInstaller(true)]的类设为public。

答案 3 :(得分:1)

我刚刚在描述它时遇到了这个问题。

我愚蠢地对生成的myservice.vshost.exe文件运行installutil。

这可能不是你的问题,但在命令提示符下,我浏览了.exe所在的目录,键入installutil后跟一个空格,然后使用tab循环以自动完成服务exe名称。

我找到的文件以“myservice”开头,以“.exe”结尾,我让它运行。

傻,但这就是发生的事。

留下这个信息给后人,并希望它可以帮助其他人: - )

答案 4 :(得分:0)

这至多是半解决方案。

我遇到了同样的问题,我尝试了上面提到的所有补救措施以及其他程序员的避风港。

我已将Acount类型更改为LocalService,现在它可以正常工作。 这可能是临时解决方案。

答案 5 :(得分:0)

我正在针对我认为没有.exe扩展名的文件运行installutil.exe。当我在fileexplorer中查看文件时,扩展名不可见。当我将.exe扩展名添加到服务文件名时,它运行顺利:-)。真可惜。

答案 6 :(得分:0)

将自定义操作添加到安装项目

1.在解决方案资源管理器中,右键单击安装项目,指向“视图”,然后选择“自定义操作”。将出现“自定义操作”编辑器。

2.在“自定义操作”编辑器中,右键单击“自定义操作”节点,然后选择“添加自定义操作”。将出现“在项目中选择项目”对话框。

3.双击列表框中的应用程序文件夹将其打开,从MyNewService(Active)中选择主输出,然后单击“确定”。主要输出将添加到自定义操作的所有四个节点中�安装,提交,回滚和卸载。

4.建立安装项目。

答案 7 :(得分:0)

这听起来很奇怪,但请确保您尝试安装的 service.exe文件是最新版本。我担心您尝试在调试文件夹中部署文件但是您确实进行了更改并在发布模式下重建服务项目。