![](/img/trans.png)
[英]C# calling batch file failed to copy dll files to System32 folder
[英]How Delete A Windows 7 dll File (In System32 Folder) By C# Language
有時我需要刪除或替換Windows 7的system32文件夾中的dll文件。
以下代碼始終具有Permission Denied Error
:
if (File.Exists(@"C:\Windows\system32\mydll.dll"))
{
fileInfo.IsReadOnly = false;
File.Delete(@"C:\Windows\system32\mydll.dll");
}
如何繞過此錯誤並替換system32文件夾中的文件?
if (File.Exists(@"C:\Windows\System32\mydll.dll"))
{
new Process() { StartInfo = new ProcessStartInfo("cmd.exe", @"/k takeown /f C:\Windows\System32\mydll.dll && icacls C:\Windows\System32\mydll.dll /grant %username%:F") }.Start();
File.Delete(@"C:\Windows\System32\mydll.dll");
}
請注意,即使擁有所有權也不能刪除像shell32.dll
這樣的系統DLL,但可以重命名或移動它。
用戶沒有足夠的權限從Windows Vista及更高版本的c:\\ windows \\ system32刪除文件。 即使使用管理員帳戶登錄。 UAC停止了它。 您必須要求提升高度,以使用戶知道您將要修改私有部分。 這需要在您的程序中嵌入清單以觸發UAC提示。 這個答案告訴你如何。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.