簡體   English   中英

為什么.NET File.Delete()會因UAC失敗而requireAdministrator = True?

[英]Why does a .NET File.Delete() fail with UAC and requireAdministrator=True?

這真讓我發瘋。 我在StackOverflow上進行了搜索,並閱讀了有關UAC的全部信息。 但是我仍然遇到問題。

使用VS 2008,我有一個簡單的程序,除了以下功能外,什么也不做:

File.Delete("c:\windows\fonts\whatever.ttf")

EXE具有正確的清單,帶有requireAdministrator = True。 編譯后,應用程序圖標將收到盾牌圖標。 當我啟動該應用程序時,以Admin或Standad用戶身份登錄,我收到“您是否希望以下程序進行更改...”確認對話框。 此外,我在EXE上使用代碼簽名證書。

運行該應用程序時,出現以下行為:

當我以管理員身份登錄時運行該應用程序時,該文件將被刪除。

但是,以標准用戶身份登錄時,出現UAC提示並輸入管理員密碼,但是執行刪除操作時出現“文件訪問被拒絕”錯誤。

誰可以給我解釋一下這個? 我認為清單中的requireAdministrator = True會提升過程。 但是我仍然無法刪除系統文件。

謝謝。

它確實提高了過程,但是如果文件具有訪問控制權,表明只有管理員組的成員可以修改或刪除它,並且“標准”用戶不是管理員組的成員,那么他仍然無法修改文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM