Próbuję przejąć na własność plik i usunąć go przez C#. Plik to iexplorer.exe, obecny właściciel domyślnie - TrustedInstaller. Metoda FileSecurity.SetOwner wydaje się ustawić określone własności, ale w rzeczywistości nie zmienia właściciela początkowego i nie rzuca wyjątku. Oczywiście następna próba usunięcia pliku zgłasza wyjątek. Co należy zmienić w kodzie, aby przejąć na własność plik i go usunąć?przejmij na własność plik C#
var fileS = File.GetAccessControl(@"C:\Program Files (x86)\Internet Explorer\iexplore.exe");
fileS.SetOwner(new System.Security.Principal.NTAccount(Environment.UserDomainName, Environment.UserName));
File.Delete(@"C:\Program Files (x86)\Internet Explorer\iexplore.exe");
Co się dzieje z UAC tutaj? Czy biegasz wysoko? –
Tak i nie pomaga. Musisz ustawić uprawnienia, a następnie usunąć podany plik. Rozwiązanie jest dostępne tutaj: http://msdn.microsoft.com/en-us/magazine/cc164701.aspx?code=true&level=root%2cPrivilege11 – alternative