Я не могу изменить флаг только для чтения в файле. Я пробовал это на Vista и XP с одинаковым результатом, поэтому не думаю, что это проблема, связанная с UAC.
Ничего из того, что я сделал, похоже не работает. Смотрите образец ниже. Может кто-нибудь сказать мне, что я делаю не так?
public bool UpdateResFile(string fileName, string language, string objectName, string NewValue)
{
FileInfo fi = new FileInfo(fileName);
try
{
//Do Stuff
xDoc.Save(fileToUpdate);
}
catch (UnauthorizedAccessException)
{
//fi.IsReadOnly = false;
File.SetAttributes(fileName, FileAttributes.Normal);
//fi.Attributes -= FileAttributes.ReadOnly;
return UpdateResFile(fileName, language, objectName, NewValue);
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
return true;
}