Is OpenPDC compatible with a NetShare drive on NAS?


I am looking to make OpenPDC works with part of the directories / files deported to a NAS shared folder located on the network (unfortunately, I can’t use a SAN drive due to technical limitations). For this I mounted the NAS share (\\NAS_FQDN\SHARE_NAME) on the E:\ drive of the physical server via a persistent net use. The AD account used to mount this drive has RWXD rights to the share. This is also the same account used for the Windows openPDC service (it works fine with this AD service account when all openPDC files/directories are on local drives).

I modified with the ConfigurationEditor tool the access paths to the Reports, Archive (historian and statistics), logs …
The openPDC service starts fine (stable in a ‘running’ state) but the console tells me that it cannot connect to it, as the OpenPDC Manager that stand in a ‘red’ state. A telnet locahost 8500 does not work: the local port is not opened/listening.

Could you please confirm that OpenPDC is able to work with one or more drive letters mounted on remote network shares ?


P.S : my openPDC version is 2.9.183.

Edit 1 : I may have found a way by using a symlink ; making a virutal folder related to the net share. It seems to be persistent event after a reboot. I also have to make the service in ‘automatic delayed’ start mode in order that the domain, network and other components required for making this configuration work goes well.
By the way, I sometimes encounter the following error on the service startup :

> (Outer Exception)
> Date and Time:         12/20/2022 7:56:22 AM
> Machine Name:          XXXXXXXXXX
> Machine IP:            XXXXXXXXXX
> Machine OS:            Microsoft Windows NT XXXXXXXXXXX
> Application Domain:    openPDC.exe
> Assembly Codebase:     D:/openPDC/openPDC.exe
> Assembly Full Name:    openPDC, Version=, Culture=neutral, PublicKeyToken=null
> Assembly Version:
> Assembly Build Date:   10/6/2022 12:19:30 AM
> .Net Runtime Version:  4.0.30319.42000
> Exception Source:      
> Exception Type:        System.InvalidOperationException
> Exception Message:     Failed to pre-compile razor template "D:\openPDC\wwwroot\AddSynchrophasorDeviceDev.cshtml": Errors while compiling a Template.
> Please try the following to solve the situation:
>   * If the problem is about missing/invalid references or multiple defines either try to load 
>     the missing references manually (in the compiling appdomain!) or
>     Specify your references manually by providing your own IReferenceResolver implementation.
>     See for details.
>     Currently all references have to be available as files!
>   * If you get 'class' does not contain a definition for 'member': 
>         try another modelType (for example 'null' to make the model dynamic).
>         NOTE: You CANNOT use typeof(dynamic) to make the model dynamic!
>     Or try to use static instead of anonymous/dynamic types.
> More details about the error:
>  - error: (94, 86) The type or namespace name 'openHistorian' could not be found (are you missing a using directive or an assembly reference?)
> Temporary files of the compilation can be found in (please delete the folder): D:\openPDC\DynamicAssemblies\RazorEngine_2qwj3uu4.q0f
> The template-file we tried to compile is: d:\openpdc\wwwroot\addsynchrophasordevicedev.cshtml

There are dozen of other lines of code caracterizing the erreor ; but too many to expose them on this topic.

I’m surprised because although it’s openPDC, the error message mentions openHistorian.
However, I did not find / identify any major malfunction following this error. The product still seems to work normally.
Any idea of what’s going wrong ?


I wish you a happy new year !

I’ve seen in the 2.9.210 release of OpenPDc that you have removed the development page and all the reference to it that made the errors occurring on the service startup : thank you very much !
I’ll use this version instead of my actual one (2.9.208).

As I can now :

  • deal with a net share using a symlink
  • use a dedicated AD service account (with a few commands / parameters to give to it the prerequisites /rights)
    And no more errors on the service startup

This topic can be considered as ‘closed’.

Thank you !