Member 12679544 Ответов: 1

Отказано в доступе к файлу hosts


Когда я запускаю свою программу в Visual Studio, она отлично работает без прав администратора. Но при запуске программы с помощью файла. exe произошла ошибка-доступ к пути "C:/Windows/System32/drivers/etc/host"

Вот мой код -

Dim file As System.IO.StreamWriter
               file =    My.Computer.FileSystem.OpenTextFileWriter("C:/Windows/System32/drivers/etc/hosts", True)
               file.WriteLine("127.0.0.1 " + www.google.lk)
               file.Close()


Что я уже пробовал:

Пробовал работать от имени администратора
Изменение "значение asinvoker" на "значение highestavailable" в приложение.файл манифеста
Попробовал дать разрешение на доступ

1 Ответов

Рейтинг:
2

Bernhard Hiller

Этот файл защищен Windows. Вам нужны права администратора. Скорее всего, вам придется удалить некоторые флаги, такие как read-only, прежде чем вы сможете писать в него.
Также обратите внимание, что Windows использует "виртуализацию", когда приложение пытается писать там, где оно не должно этого делать. Взгляните на C:\Users\Your.Имя Пользователя\AppData\Local\VirtualStore.
Между прочим, file.WriteLine("127.0.0.1 " + www.google.lk) скорее всего, это неправильно, я думаю, так и должно быть file.WriteLine("127.0.0.1 www.google.lk") если вы хотите перенаправить любые звонки на шри-ланкийский сайт google на localhost.