Как я понимаю, вы должны использовать метод Environment.GetFolderPath, чтобы иметь независимый от ОС код...
В Windows XP используется C:\Documents and Settings\. Windows Vista использует C:\ProgramData и C:\Users.
Я использую приведенный ниже код на компьютере под управлением Windows Vista, и он возвращает каталог C:\Documents and Settings\ вместо C:\ProgramData, как он должен... Любые идеи?
string commonAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
try
{
File.CreateText(
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) +
"\\mycompany\\uid");
log.Debug("Created file successfully");
}
catch (Exception ex)
{
log.Error("Unable to create the uid file: ", ex);
}