Windows服务记录为什么他们不会启动?

时间:2015-06-18 19:22:21

标签: windows dll service

我有一个Windows服务无法在全新的Windows Server 2012安装上启动。

当我尝试启动该服务时,我收到此错误。

  

本地计算机上的Foobar服务启动然后停止。如果某些服务未被其他服务或程序使用,则会自动停止。

enter image description here

我来自linux背景,并且不使用windows。在我的故障排除尝试中,我已经能够收集以下日志。

The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.\u000d\u000a   at System.Diagnostics.PerformanceCounter.InitializeImpl()\u000d\u000a   at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean readOnly)\u000d\u000a   at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, Boolean readOnly)\u000d\u000a   at foobar.sage.OnStart(String[]

我从谷歌首页尝试过的东西。

https://stackoverflow.com/a/2081976/1626687

PS C:\Users\sowen> lodctr C:\Windows\Microsoft.NET\Framework\v4.0.30319\CORPerfMonExt.dll
PS C:\Users\sowen> lodctr C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CORPerfMonExt.dll

https://stackoverflow.com/a/14513897/1626687

PS C:\Users\sowen> unlodctr .NETFramework
Removing counter names and explain text for .NETFramework
Updating text for language 009PS 
PS C:\Users\sowen> lodctr 'C:\Windows\Inf\.NETFramework\corperfmonsymbols.ini'

https://social.technet.microsoft.com/Forums/windowsserver/en-US/46a21b31-f5fc-4a44-bd4c-c9884a923943/performance-monitor-in-windows-server-2012

修改HKLM / \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Perflib
禁用性能计数器= 0

loadctl /r

这些尝试都没有解决问题。是否有一个窗口显示额外的日志记录,为什么这项服务不会启动?

1 个答案:

答案 0 :(得分:0)

除了查看事件查看器之外,您还无法进行日志记录。

我终于通过使用InstallUtil而不是sc.exe

来运行此操作
sc.exe create foobar obj= "example.com\\someuser" password= "correct-horse-battery-staple" binPath= c:\foobar.exe start= auto depends= "MSMQ"

sc.exe delete foobar

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /user="example.com\someuser" /password="correct-horse-battery-staple" c:\foobar.exe