C# 编写的Windows serice程序. 安装时出现异常!

初学Windows Service 程序的编写,按照MSDN上写了一个service! 遇到安装服务的错误, 能帮忙看下是什么原因吗? 下面是在命令行下的安装结果:

正在运行事务处理安装。

正在开始安装的“安装”阶段。

查看日志文件的内容以获得 C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects

\Test_Service\Test_Service\bin\Debug\test_service.exe 程序集的进度。

该文件位于 C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects\Test_Service\

Test_Service\bin\Debug\test_service.InstallLog。

正在安装程序集“C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects\Test_Ser

vice\Test_Service\bin\Debug\test_service.exe”。

受影响的参数是:

  logtoconsole =

  assemblypath = C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects\Test_S

ervice\Test_Service\bin\Debug\test_service.exe

  i =

  logfile = C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects\Test_Servic

e\Test_Service\bin\Debug\test_service.InstallLog

正在安装服务 Service1...

正在日志 Application 中创建 EventLog 源 Service1...

在“安装”阶段发生异常。

System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可

访问的日志: Security。

正在开始安装的“回滚”阶段。

查看日志文件的内容以获得 C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects

\Test_Service\Test_Service\bin\Debug\test_service.exe 程序集的进度。

该文件位于 C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects\Test_Service\

Test_Service\bin\Debug\test_service.InstallLog。

正在回滚程序集“C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects\Test_Ser

vice\Test_Service\bin\Debug\test_service.exe”。

受影响的参数是:

  logtoconsole =

  assemblypath = C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects\Test_S

ervice\Test_Service\bin\Debug\test_service.exe

  i =

  logfile = C:\Users\Ramon.Fu\Documents\Visual Studio 2005\Projects\Test_Servic

e\Test_Service\bin\Debug\test_service.InstallLog

正在将事件日志还原到源 Service1 的前一状态。

在 System.Diagnostics.EventLogInstaller 安装程序的“回滚”阶段发生异常。

System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可

访问的日志: Security。

在安装的“回滚”阶段发生异常。将忽略该异常并继续回滚。但是,在完成回滚后计算机可

能无法完全还原到它的初始状态。

“回滚”阶段已成功完成。

已完成事务处理安装。

安装失败,已执行回滚。

//////////////////////////

解决方法:

明白怎么回事了 权限不在于我们编写的service 而是vs命令行工具: 
直接右键单击“以管理员身份运行”Visual Studio Command Prompt即可 

如果还不行,可以直接在注册表里预先建好日志项(运行regedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog 
右键单击新建-->项) 

(估计你已经搞定了 小把戏 呵呵 也懵了我一天 总以为是自己写的服务那里没设置好)

你可能感兴趣的:(windows)