Я думаю, что это может быть потому, что нет специальной папки. При работе в качестве локальной учетной записи службы вы работаете под этим пользователем, а не вошедшим в систему пользователем. поэтому вы запрашиваете специальную папку, которая, вероятно, не существует, так как я не думаю, что у локальной службы есть профиль. (Я могу ошибаться) - Я был неправ: p
На всякий случай, если кто-нибудь заскочит:
C:\Windows\ServiceProfiles\LocalService
- это локальная папка профиля службы, поэтому она окажется там.
Если вы хотите отладить, окружите эту строку попыткой catch, а затем запишите ошибку в файл:
try
{
Directory.CreateDirectory(Environment.SpecialFolder.LocalApplicationData + "\\MyService");
}
catch (Exception ex)
{
System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\MyServicelog.txt",true);
file.WriteLine(ex.Message);
file.Close();
}
По крайней мере, тогда вы увидите, что вызвало ошибку
Martyn