Error - Failed to load adapter "STATISTIC!SERVICES"

Hi!

I’ve been having this error when I use openPDC, I don’t know why… I already tried uninstalling it and installing it again, but it’s not working. Can someone help me with that, please?

Thank you!

When I look at the errors on the interface of OpenPDC Manager, there’s this:

(Inner Exception)
(Inner Exception)

Application Domain: openPDC.exe
Assembly Codebase: C:/Program Files/openPDC/openPDC.exe
Assembly Full Name: openPDC, Version=2.9.148.0, Culture=neutral, PublicKeyToken=null
Assembly Version: 2.9.148.0
Assembly Build Date: 4/1/2024 9:40:54 AM
.Net Runtime Version: 4.0.30319.42000

Exception Source: mscorlib
Exception Type: System.UnauthorizedAccessException
Exception Message: Access to the registry key ‘Global’ is denied.
Exception Target Site: Win32Error

---- Stack Trace ----
Microsoft.Win32.RegistryKey.Win32Error(errorCode As Int32, str As String)
openPDC.exe: N 00149
Microsoft.Win32.RegistryKey.InternalGetValue(name As String, defaultValue As Object, doNotExpand As Boolean, checkSecurity As Boolean)
openPDC.exe: N 00559
Microsoft.Win32.RegistryKey.GetValue(name As String)
openPDC.exe: N 00064
System.Diagnostics.PerformanceMonitor.GetData(item As String)
openPDC.exe: N 00120
System.Diagnostics.PerformanceCounterLib.GetPerformanceData(item As String)
openPDC.exe: N 00182
System.Diagnostics.PerformanceCounterLib.get_CategoryTable()
openPDC.exe: N 00147
System.Diagnostics.PerformanceCounterLib.CategoryExists(machine As String, category As String)
openPDC.exe: N 00080
System.Diagnostics.PerformanceCounterCategory.Exists(categoryName As String, machineName As String)
openPDC.exe: N 00160
GSF.Diagnostics.PerformanceMonitor…ctor(processName As String, samplingInterval As Double, addDefaultCounters As Boolean)
openPDC.exe: N 00996
GSF.TimeSeries.Statistics.StatisticsEngine…ctor()
openPDC.exe: N 00958

Application Domain: openPDC.exe
Assembly Codebase: C:/Program Files/openPDC/openPDC.exe
Assembly Full Name: openPDC, Version=2.9.148.0, Culture=neutral, PublicKeyToken=null
Assembly Version: 2.9.148.0
Assembly Build Date: 4/1/2024 9:40:54 AM
.Net Runtime Version: 4.0.30319.42000

Exception Source: mscorlib
Exception Type: System.Reflection.TargetInvocationException
Exception Message: Exception has been thrown by the target of an invocation.
Exception Target Site: CreateInstance

---- Stack Trace ----
System.RuntimeTypeHandle.CreateInstance(type As RuntimeType, publicOnly As Boolean, noCheck As Boolean, canBeCached As Boolean&, ctor As RuntimeMethodHandleInternal&, bNeedSecurityCheck As Boolean&)
openPDC.exe: N 00000
System.RuntimeType.CreateInstanceSlow(publicOnly As Boolean, skipCheckThis As Boolean, fillCache As Boolean, stackMark As StackCrawlMark&)
openPDC.exe: N 00142
System.Activator.CreateInstance(type As Type, nonPublic As Boolean)
openPDC.exe: N 00107
System.Activator.CreateInstance(type As Type)
openPDC.exe: N 00013
GSF.TimeSeries.Adapters.AdapterCollectionBase`1.TryCreateAdapter(adapterRow As DataRow, adapter As T&)
openPDC.exe: N 00387

(Outer Exception)

Application Domain: openPDC.exe
Assembly Codebase: C:/Program Files/openPDC/openPDC.exe
Assembly Full Name: openPDC, Version=2.9.148.0, Culture=neutral, PublicKeyToken=null
Assembly Version: 2.9.148.0
Assembly Build Date: 4/1/2024 9:40:54 AM
.Net Runtime Version: 4.0.30319.42000

Exception Source:
Exception Type: System.InvalidOperationException
Exception Message: Failed to load adapter “STATISTIC!SERVICES” [GSF.TimeSeries.Statistics.StatisticsEngine] from “C:\Program Files\openPDC\GSF.TimeSeries.dll”: Exception has been thrown by the target of an invocation.

---- Stack Trace ----

Hi leticia_acs,

The installer is supposed to add the service account to the Performance Log Users and Performance Monitor Users groups, which should grant it the access it needs to read the performance counters. You might want to double-check whether the account is a member of those two groups.

Thanks,
Stephen