I have built an app that works only when not run as a Windows service. Well, the service runs, but it doesn’t do what it should. The service uses the Local Service account. So to kick off debugging, I thought I’d start with something simple: have it create a directory when it starts:
Directory.CreateDirectory(
Environment.SpecialFolder.LocalApplicationData + "\\MyService");
When I started the service, it stopped almost immediately and Windows reported that fact. When I commented out the above statement, recompiled and re-installed, the service ran without stopping.
Obviously the above line throws an exception of some sort. I have no way of logging the error because I can’t write to the file system. Any ideas why Local Service can’t create a directory in its own %LOCALAPPDATA%?
You should use GetFolderPath with LocalApplicationData like so: