Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在InstallUtil工具的帮助下安装windows服务_C#_.net_Windows Services - Fatal编程技术网

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

C# 无法在InstallUtil工具的帮助下安装windows服务,c#,.net,windows-services,C#,.net,Windows Services,我使用VS 2012,由于安装项目已从中删除,因此我必须使用InstallUtil.exe 我的windows服务应用程序中没有projectInstaller类。我在命令提示符下运行: installutil FilesMonitoringService.exe 我得到: C:\Program Files\Microsoft Visual Studio 8\VC\installutil“C:\Program Files\Mic rosoft Visual Studio 8\VC\CShar

我使用VS 2012,由于安装项目已从中删除,因此我必须使用InstallUtil.exe

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

installutil FilesMonitoringService.exe 
我得到:

C:\Program Files\Microsoft Visual Studio 8\VC\installutil“C:\Program Files\Mic rosoft Visual Studio 8\VC\CSharpProjects\MyService\MyService\bin\Release\MyServ ice.exe“ Microsoft(R).NET Framework安装实用程序版本2.0.50727.42 版权所有(c)微软公司。版权所有

正在运行事务处理安装

开始安装的安装阶段。 有关C:\Program Files\Microsoft Visual Studio,请参阅日志文件的内容 o 8\VC#\CSharpProjects\MyService\MyService\bin\Release\MyService.exe程序集的 进步。 该文件位于C:\Program Files\Microsoft Visual Studio 8\VC\CSharpProj ects\MyService\MyService\bin\Release\MyService.InstallLog。 安装程序集“C:\Program Files\Microsoft Visual Studio 8\VC\CSharpProjec” ts\MyService\MyService\bin\Release\MyService.exe'。 受影响的参数包括: logtoconsole= assemblypath=C:\Program Files\Microsoft Visual Studio 8\VC\CSharpProject\ MyService\MyService\bin\Release\MyService.exe logfile=C:\Program Files\Microsoft Visual Studio 8\VC\CSharpProjects\MySer vice\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 Studio,请参阅日志文件的内容 o 8\VC#\CSharpProjects\MyService\MyService\bin\Release\MyService.exe程序集的 进步。 该文件位于C:\Program Files\Microsoft Visual Studio 8\VC\CSharpProj ects\MyService\MyService\bin\Release\MyService.InstallLog。 正在提交程序集“C:\Program Files\Microsoft Visual Studio 8\VC\CSharpProjec” ts\MyService\MyService\bin\Release\MyService.exe'。 受影响的参数包括: logtoconsole= assemblypath=C:\Program Files\Microsoft Visual Studio 8\VC\CSharpProject\ MyService\MyService\bin\Release\MyService.exe logfile=C:\Program Files\Microsoft Visual Studio 8\VC\CSharpProjects\MySer vice\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类,因为如果我添加它(在designer->add installer中)并运行installutil命令,我会得到:(近似翻译)

安装FileMonitoringService。。。 正在日志应用程序中创建EventLog FileMonitoringService

在此安装阶段发生异常

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

反冲阶段开始

//大量文本

反冲阶段成功了

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

因此,如果我将ProjectInstaller添加到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我需要在后安装方法中添加一些代码?我还在
properties
窗口中设置此属性:

serviceInstaller1:ServiceName->FileMonitoringService,开始类型->自动
serviceProcessInstaller1:帐户->本地系统


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

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

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

部分

发件人:

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


好的,有两件事:

1) 您需要projectInstaller。
2) 您的项目->属性;启动项目->YourProject.Program
3) 构建
4) “以管理员身份运行”命令提示

现在一切都好了


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

我想您指的是启动“对象”即“以管理员身份运行”这是我的问题。谢谢:)2017注意-如果这个答案不能解决您的所有问题,那么下面的SO帖子还会提到其他细节。2017年评论-在这篇类似的SO帖子中,这个主题有几个有用的答案和评论。