2

我正在尝试在 Windows 7 x64 上安装我的 Windows 服务

并得到这个错误

An exception occurred during the Rollback phase of the System.Diagnostics.EventLogInstaller installer.
System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.
An exception occurred during the Rollback phase of the installation. This exception will be ignored and the rollback will continue. However, the machine might not fully revert to its initial state after the rollback is complete.

这是我的MyWindowsServiceInstaller代码:

var processInstaller = new ServiceProcessInstaller();
            var serviceInstaller = new ServiceInstaller();
            processInstaller.Account = ServiceAccount.LocalSystem;
            serviceInstaller.DisplayName = "My Service";
            serviceInstaller.StartType = ServiceStartMode.Manual;
            serviceInstaller.ServiceName = "My Service";
            this.Installers.Add(processInstaller);
            this.Installers.Add(serviceInstaller);

我已经设置了我的应用程序名称来启动项目

这是bat文件

@ECHO OFF

REM The following directory is for .NET 2.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727
set PATH=%PATH%;%DOTNETFX2%

echo Installing MyService...
echo ---------------------------------------------------
InstallUtil /i ConsoleApplication5.exe
echo ---------------------------------------------------
echo Done.
pause

如果我要解决此问题,该服务不仅是我的计算机,它是否会为任何其他计算机解决?

谢谢

4

2 回答 2

8

你可以试试这种方式安装。以管理员身份打开 cmd 并定位到系统中的 .Net Framework 路径

Eg: "C:\Windows\Microsoft.Net\Framework\v4.0.30319\"

然后在 installutil.exe 的帮助下,您可以安装该服务。

Eg: C:\Windows\Microsoft.Net\Framework\v4.0.30319\installutil.exe "Your service exe path"
于 2012-07-03T13:00:57.250 回答
2

您还可以通过将“Visual Studio 命令提示符”作为“以管理员身份运行”选项启动来克服此类问题。现在使用 installutil.exe 命令安装您的程序集

x:\Windows\System32>installutil.exe YourService.exe

(其中 YourService.exe 是您的服务项目编译后的 exe 文件)

说明: 要打开命令提示符,请单击“所有程序”->“Microsoft Visual Studio (20xx)”->“Visual Studio 工具 (20xx)”->“Visual Studio 命令提示符”(其中 20xx 是您使用的相应版本)正在使用 2008、2010 等)。

于 2013-12-19T19:39:40.823 回答