Как я понимаю, вы должны использовать метод 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);
}