I built Topshelf sample application, (Version 4.0.1) the one with the TimedEvents that just write to console. Could install and run ok as Admin. When installing as NetworkService (trying to run with fewer privileges for better security practices) got error:
[Success] Name Stuff, [Success] Description Sample Topshelf Host, [Success] ServiceName Stuff Topshelf v4.0.0.0, .NET Framework v4.0.30319.42000 Topshelf.Hosts.StartHost Error: 0 : The service failed to start., System.InvalidOperationException: Cannot start service Stuff on computer '.'. ---> System.ComponentModel.Win32Exception: Access is denied --- End of inner exception stack trace --- at System.ServiceProcess.ServiceController.Start(String[] args) at System.ServiceProcess.ServiceController.Start() at Topshelf.Runtime.Windows.WindowsHostEnvironment.StartService(String serviceName, TimeSpan startTimeOut) at Topshelf.Hosts.StartHost.Run()
In this case, there is no input or output file, so access permissions to other files should not be the problem.