2014-09-13 19 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

英語應該是這樣的:應用程序管理器,找到你的程序,並選擇屬性,文件和系統寄存器 - 系統文件 - 關鍵設置