C# · 12月 27, 2021

c# – 无法在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 Installation utility Version 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.

Running a transacted installation.

Beginning the Install phase of the installation.
See the contents of the log file for the C:\Program Files\Microsoft Visual Studi
o 8\VC#\CSharpProjects\MyService\MyService\bin\Release\MyService.exe assembly’s
progress.
The file is located at C:\Program Files\Microsoft Visual Studio 8\VC#\CSharpProj
ects\MyService\MyService\bin\Release\MyService.InstallLog.
Installing assembly ‘C:\Program Files\Microsoft Visual Studio 8\VC#\CSharpProjec
ts\MyService\MyService\bin\Release\MyService.exe’.
Affected parameters are:
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
No public installers with the RunInstallerAttribute.Yes attribute Could be found
in the C:\Program Files\Microsoft Visual Studio 8\VC#\CSharpProjects\MyService\
MyService\bin\Release\MyService.exe assembly.

The Install phase completed successfully,and the Commit phase is beginning.
See the contents of the log file for the C:\Program Files\Microsoft Visual Studi
o 8\VC#\CSharpProjects\MyService\MyService\bin\Release\MyService.exe assembly’s
progress.
The file is located at C:\Program Files\Microsoft Visual Studio 8\VC#\CSharpProj
ects\MyService\MyService\bin\Release\MyService.InstallLog.
Committing assembly ‘C:\Program Files\Microsoft Visual Studio 8\VC#\CSharpProjec
ts\MyService\MyService\bin\Release\MyService.exe’.
Affected parameters are:
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
No public installers with the RunInstallerAttribute.Yes attribute Could be found
in the C:\Program Files\Microsoft Visual Studio 8\VC#\CSharpProjects\MyService\
MyService\bin\Release\MyService.exe assembly.
Remove InstallState file because there are no installers.

The Commit phase completed successfully.

The transacted install has completed.

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

好的,好像一切都已经安装好了.但!当我去任务管理器到服务页面时,找不到我的服务.

可能是什么原因?

提前致谢!

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

Installation of FilesMonitoringService…
Creation of EventLog FilesMonitoringService in a log jornal Application…

在这个安装阶段,发生异常.

System.Security.SecurityException: The source is not found,but Failed to find by any or all log jornals. Not available jornals: Security.

The recoil stage starts.

// lots of text

The recoil stage has succeded

Setup group operation executed.
Setup Failed and recoil was executed.

所以,如果我添加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方法中?我也在属性窗口中设置此属性:

serviceInstaller1:ServiceName – > FileMonitoringService,StartType – >自动
serviceProcessInstaller1:帐户 – >本地系统

还是可以实现没有projectInstaller?

解决方法 好的,有几件事情:

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

一切工作现在

complete tutorial link