Для установки с использованием .NET я хочу дать разрешение на запись для определенного файла в папке, используя cacls.exe, поэтому я упомянул Как дать разрешения на чтение / запись для папки во время установки с использованием .NET и я использовал код из Настройка прав доступа к файлам или каталогам ACE-записей в .NET с использованием CACLS.EXE .После установки при загрузке формы я мог прочитать файл file.txt , который находится по адресу C: \ Program Files \ MyCompany \ MyProduct, с кодом ниже:
private void Form1_Load(object sender, EventArgs e)
{
//Some code
DirectoryPermission dp = new
DirectoryPermission(filename, "Everyone", "F");
dp.SetAce();
foffset = read_file();
}
string filename = "file.txt";
private double read_file()
{
double value = 0;
try
{
value = Double.Parse(System.IO.File.ReadAllText(@filename));
return value;
}
catch
{
System.IO.File.WriteAllText(@filename, value.ToString());
return 0;
}
}
Но наНажав кнопку, я не смог написать файл с новым значением, поэтому я написал приведенный ниже код и произвел установку, но проблема остается:
private void button1_Click(object sender, EventArgs e)
{
try{
DirectoryPermission dp = new
DirectoryPermission(filename , "Everyone", "F");
dp.SetAce();
System.IO.File.WriteAllText(@filename , offset.ToString());
}
catch
{}
}
Я предоставляю полный контроль всем пользователям, ноЯ не могу написать файл.и я получаю эту ошибку
Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll
Пожалуйста, помогите мне в этом.