无法在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的情况下实现吗?
好的,有两件事:
1) 您需要projectInstaller
2) YourProject->properties;启动项目->YourProject.Program
3) 生成
4) "以管理员身份运行"命令提示符!
现在一切正常。
完成教程链接
我现在没有VS2012的副本来测试它,但我相信你的问题与有关
我的windows服务应用中没有projectInstaller类
部分。
来自msdn:
安装组件在系统上注册单个服务并让服务控制管理器知道服务存在
这看起来很琐碎,但在编写installutill参数时要仔细检查,因为您可能会将服务的exe文件与编译引用项目(没有服务安装程序)生成的另一个exe文件混淆,使其失败。