C# 无法在InstallUtil工具的帮助下安装windows服务
我使用VS 2012,由于安装项目已从中删除,因此我必须使用InstallUtil.exe 我的windows服务应用程序中没有projectInstaller类。我在命令提示符下运行: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
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帖子中,这个主题有几个有用的答案和评论。