无法在InstallUtil工具的帮助下安装windows服务

本文关键字:安装 windows 服务 帮助 InstallUtil 工具 | 更新日期: 2023-09-27 18:00:30

我使用VS 2012,由于安装项目已从中删除,我不得不使用InstallUtil.exe。

我的windows服务应用程序中没有projectInstaller类。我在命令提示符下运行:

installutil FilesMonitoringService.exe 

我得到:

C: ''Program Files''Microsoft Visual Studio 8''VC#>installutil"C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.exe"Microsoft(R).NET Framework安装实用程序2.0.50727.42版版权所有(c)Microsoft Corporation。保留所有权利。

正在运行事务处理安装。

开始安装的安装阶段。请参阅C:''Program Files''Microsoft Visual Studi的日志文件内容o 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.exe程序集进步该文件位于C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.InstallLog。正在安装程序集"C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjec"ts''MyService''MyService''bin''Release ''MyService.exe'。受影响的参数包括:对数孔=assemblypath=C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.exelogfile=C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.InstallLog没有具有RunInstallerAttribute的公共安装程序。找不到Yes属性在C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService中''MyService''bin''Release ''MyService.exe程序集。

安装阶段已成功完成,提交阶段正在开始。请参阅C:''Program Files''Microsoft Visual Studi的日志文件内容o 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.exe程序集进步该文件位于C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.InstallLog。正在提交程序集"C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjec"ts''MyService''MyService''bin''Release ''MyService.exe'。受影响的参数包括:对数孔=assemblypath=C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.exelogfile=C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService''MyService''bin''Release ''MyService.InstallLog没有具有RunInstallerAttribute的公共安装程序。找不到Yes属性在C:''Program Files''Microsoft Visual Studio 8''VC#''CSharpProjects''MyService中''MyService''bin''Release ''MyService.exe程序集。删除InstallState文件,因为没有安装程序。

提交阶段已成功完成。

事务处理安装已完成。

C: ''Program Files''Microsoft Visual Studio 8''VC#>

,似乎所有东西都已安装。但是当我转到"服务"页面的任务管理器时,找不到我的服务。

原因可能是什么?

提前感谢!

编辑:我指出我没有projectInstaller类,因为如果我添加它(在设计器->添加安装程序中)并运行installutil命令,我会得到:(近似翻译)

正在安装文件监控服务。。。正在日志主要应用程序中创建EventLog FilesMonitoringService。。。

在此安装阶段发生异常。

System.Security.SecurityException:找不到源,但任何或所有日志主体都找不到。不可用jornals:安全。

反冲阶段开始。

//大量文本

后坐位已经取代

已执行安装组操作。设置失败,执行了反冲。

因此,如果我将projectInstller添加到我的windows服务中,它肯定无法使用installUtil进行安装
这是生成的代码:

[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
    public ProjectInstaller()
    {
        InitializeComponent();
    }
    private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
    {}
    private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e)
    {}
}

Mabby我需要在afterInstall方法中放入一些代码吗?我还在properties窗口中设置了这个属性:

serviceInstaller1:ServiceName->FileMonitoringService,StartType->自动
serviceProcessInstaller1:帐户->LocalSystem

或者它可以在没有projectInstaller的情况下实现吗?

无法在InstallUtil工具的帮助下安装windows服务

好的,有两件事:

1) 您需要projectInstaller
2) YourProject->properties;启动项目->YourProject.Program
3) 生成
4) "以管理员身份运行"命令提示符!

现在一切正常。

完成教程链接

我现在没有VS2012的副本来测试它,但我相信你的问题与有关

我的windows服务应用中没有projectInstaller类

部分。

来自msdn:

安装组件在系统上注册单个服务并让服务控制管理器知道服务存在

这看起来很琐碎,但在编写installutill参数时要仔细检查,因为您可能会将服务的exe文件与编译引用项目(没有服务安装程序)生成的另一个exe文件混淆,使其失败。