2014-09-13 59 views
0

我按照app.manifest行:无法写入主机在C#中有管理员权限的文件

<requestedExecutionLevel level="requireAdministrator" /> 

而且我写的hosts文件是这样的:

File.AppendAllText(Settings.hostsPath, 
      Environment.NewLine 
      + "127.0.0.1 " + url); 

然后我通过VS运行它工作得很好。但是,当我从独立的exe文件运行它时,它不会让我写入主机文件。我试过以管理员身份手动运行文件,并没有帮助。

我错过了什么?

感谢您的时间:)

+0

什么例外是getti ng抛出? – itsme86 2014-09-13 15:47:48

+0

访问路径'C:\ Windows \ System32 \ drivers \ etc \ hosts'被拒绝。 – sczdavos 2014-09-13 15:52:57

+2

您是否试过关闭您可能正在运行的任何防病毒程序? hosts文件是许多反病毒程序特别保护的主要目标。 – itsme86 2014-09-13 16:03:12

回答

1

我发现,卡巴斯基反病毒软件阻止它没有说一个字。

后多一点谷歌搜索,我发现这也回答了在这里:https://stackoverflow.com/questions/19615128/how-to-give-permission-for-windows-form-net-program-for-editing-host-file

有一个截图,你可以在卡巴斯基改变它(抱歉,这是捷克在不具备英语选项:/)

Kaspersky modify Windows files

英语应该是这样的:应用程序管理器,找到你的程序,并选择属性,文件和系统寄存器 - 系统文件 - 关键设置