Я использовал этот код, чтобы предоставить мое приложение полный доступ на чтение/о пути написать:C#: не может выполнить SetAccessControl
private void GetAccess(string fullPath)
{
DirectoryInfo dInfo = new DirectoryInfo(fullPath);
DirectorySecurity dSecurity = dInfo.GetAccessControl();
dSecurity.AddAccessRule(new FileSystemAccessRule(new
SecurityIdentifier(WellKnownSidType.WorldSid, null),
FileSystemRights.FullControl, InheritanceFlags.ObjectInherit |
InheritanceFlags.ContainerInherit,
PropagationFlags.NoPropagateInherit, AccessControlType.Allow));
dInfo.SetAccessControl(dSecurity);
}
Но когда дело доходит до dInfo.SetAccessControl(dSecurity)
он бросает UnauthorizedAccessException
хотя у меня есть полные права администратора на компьютере, который я использую.
Есть ли способ предоставить этот доступ другим способом или предоставить моему приложению какой-либо доступ для обработки этой команды?
Ваш пользователь может иметь права, но делает активный процесс? – christophano
@christophano no, у моего приложения нет, это то, что я хочу изменить, потому что этот инструмент будет генерировать журнал ошибок и записывать в него, но без прав на запись для папки, содержащей файл журнала, я не могу ее получить работа – fl0s3n
Ну, есть проблема - вы не можете изменять разрешения, потому что приложение не имеет необходимых полномочий. – christophano