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

我使用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)Microsoft Corporation。 版权所有。

运行事务安装。

开始安装的安装阶段。 请参阅日志文件的内容以获取C:\ Program Files \ Microsoft Visual Studi 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#\ CSharpProjects \ 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 Studi 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#\ CSharpProjects \ 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类,因为如果我添加它(在设计器 – >添加安装程序)并运行installutil命令我得到:(近似翻译)

FilesMonitoringService的安装…在日志jornal应用程序中创建EventLog FilesMonitoringService …

在此设置阶段发生exception。

System.Security.SecurityException:找不到源,但找不到任何或所有log jornals。 不可用的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窗口中设置了这个properties

serviceInstaller1:ServiceName – > FileMonitoringService,StartType – > Automatic
serviceProcessInstaller1:Account – > LocalSystem

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

好的,有几件事:

1)您需要projectInstaller。
2)YourProject – > properties; 启动项目 – > YourProject.Program
3)建立
4)“以管理员身份运行”命令提示符!

现在一切都有效。

完整的教程链接

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

我的Windows服务应用程序中没有projectInstaller类

部分。

来自msdn :

安装组件在要安装它的系统上注册单个服务,并让服务控制管理器知道该服务是否存在

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