1. To have full access to all paths you want, just create a new user, give him all rights he should have and assign him to your service.
2. In my opinion your problem with the EventLog, has an other cause. Because normally LocalSystem has the
rights to access the EventLog and if you look at your installed services on your computer you will find many services working under LocalSystem and can write to EventLog.
So can you please provide your code you use to write to eventlog?
There are many ways to interact with your service.
1. Build a tiny TCP/IP server in your service and let your clients interact with this service.
To get started with this take a look at the .NET classes TcpListener, TcpClient and Socket.
2. Use interop-functions to interact with your service.
To get started with this, learn how to use one event in more then one application (CreateEvent, SetEvent, ResetEvent, CloseHandle) and how to map a shared memory block (CreateFileMapping, OpenFileMapping, MapViewOfFile, UnmapViewOfFile).
Anyone else run into this issue? I'm using a third-party system via an RCW-wrapped COM interface in a console app... When I try to clean up during a reconnect (It's a network interface to their servers), I'm running the following simple line on each component, in reverse order of instantiation:
if ([component] != null)
Simple, right? Well, the trouble is that it's locking up solid at this point. It doesn't return or throw an exception. I've tried with the old-style ReleaseComObject (Which only decrements once), but it does the same thing.
I think it has something to do with the context, as this is a console application with 3-4 background threads (Will be turning it into a windows service), and this is running on a thread that was instantiated within the COM library.
Any ideas on how to make this thing return, or at least crash so I can handle and recover?