这让我发疯。我搜索了整个 StackOverflow 并阅读了有关 UAC 的所有信息。但我仍然遇到问题。
使用 VS 2008,我有一个简单的程序,除此之外什么都不做:
File.Delete("c:\windows\fonts\whatever.ttf")
EXE 有一个适当的清单,其中 requireAdministrator=True。编译后,应用程序图标会收到盾牌图标。当我启动应用程序时,以管理员或标准用户身份登录,我收到“您是否希望以下程序进行更改...”确认对话框。此外,我在 EXE 上使用了代码签名证书。
运行应用程序时,我得到以下行为:
当我以管理员身份登录时运行应用程序时,该文件被删除。
但是,当以标准用户身份登录时,我会收到 UAC 提示并输入管理员密码,但在执行删除操作时会收到“文件访问被拒绝”错误。
谁可以给我解释一下这个?我认为清单中的 requiresAdministrator=True 提升了流程。但我仍然无法删除系统文件。
谢谢。