我有一个Windows服务无法在全新的Windows Server 2012安装上启动。
当我尝试启动该服务时,我收到此错误。
本地计算机上的Foobar服务启动然后停止。如果某些服务未被其他服务或程序使用,则会自动停止。
我来自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'
修改HKLM / \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Perflib
禁用性能计数器= 0
loadctl /r
这些尝试都没有解决问题。是否有一个窗口显示额外的日志记录,为什么这项服务不会启动?
答案 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