मैं एक फ़ाइल का स्वामित्व लेने और इसे सी # के माध्यम से हटाने की कोशिश कर रहा हूं। फ़ाइल iexplorer.exe है, डिफ़ॉल्ट रूप से वर्तमान मालिक - विश्वसनीय इन्स्टॉलर। विधि FileSecurity.SetOwner निर्दिष्ट स्वामित्व सेट करने लगता है, लेकिन वास्तव में प्रारंभिक स्वामी को नहीं बदलता है और कोई अपवाद नहीं फेंकता है। जाहिर है, फ़ाइल को हटाने का अगला प्रयास अपवाद फेंकता है। फ़ाइल में स्वामित्व लेने और इसे हटाने के लिए कोड में क्या बदला जाना चाहिए?फ़ाइल का स्वामित्व लें 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");
क्या यूएसी यहाँ के साथ हो रहा है? क्या आप ऊंचे चल रहे हैं? –
हां और मदद नहीं करता है। आपको विशेषाधिकार सेट करने की आवश्यकता है, फिर दी गई फ़ाइल को हटाएं। समाधान यहां है: http://msdn.microsoft.com/en-us/magazine/cc164701.aspx?code=true&level=root%2cPrivilege11 – alternative