【问题标题】:VB.NET Windows 7 64bit Write File in C:\Windows\System32VB.NET Windows 7 64 位在 C:\Windows\System32 中写入文件
【发布时间】:2012-02-25 02:25:47
【问题描述】:

我在尝试将文件写入 c:\windows\system32 目录时遇到了很大的问题。该代码在 32 位机器上运行良好,但在 64 位机器上不起作用。

我的用户帐户是机器上的管理员,即使右键单击并选择以管理员身份运行应用程序也不能解决问题。

写入文件时,不抛出异常,但不写入文件。

我已经阅读了有关将包含 requestedExecutionLevel 节点的 app.manifest 文件添加到我的解决方案的各种帖子,但目前还无法使其正常工作。我感觉这可能是因为我使用的是 vb.net 而不是 c#.net

以前有人遇到过这个问题吗?如果有人可以提供带有正确配置的 app.manifest 文件的示例 VS2010 VB.Net 项目,我会很高兴,因为我有点不确定我的设置尝试是否正确。

(另外,这不是我正在编写的恶意应用程序,我正在为我们的团队开发版本控制应用程序,并且需要能够与 c:\windows\system32\inetsrv\config 中保存的 IIS 文件进行交互)。

谢谢 大卫

【问题讨论】:

  • 不知道是不是你写的杀毒软件删了
  • 抱歉,忘记提及 UAC 已禁用。

标签: vb.net windows-7-x64


【解决方案1】:

可能文件写在 UAC Virtualization 下,位于C:\Users\Username\AppData\Local\VirtualStore\Windows\System32

Windows Blog - 关于幕后发生的事情的提示。

TechNet - 查看数据重定向

在本地安全策略下,有以下控制 UAC 虚拟化的选项。

【讨论】:

  • 感谢您的信息,我刚刚运行了进程监视器,发现虽然我很难编写代码以写入 c:\windows\system32。该文件实际上正在写入 c:\windows\SYSWOW64!
  • 嗯,有什么办法阻止这种情况发生吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 2014-05-16
  • 2011-12-21
  • 1970-01-01
相关资源
最近更新 更多