開発目的でhostsファイルのエントリを管理するための小さなWPFユーティリティを作成しています。ご存知かもしれませんが、hostsファイルは新しいOS(Win 7/2008 / Vista)によって保護されています。
ここで(「簡単な方法」を使用して)詳細に説明し、関連する質問で、requestedExecutionLevelを「requireAdministrator」に設定するマニフェストをアプリケーションに追加しました。
残念ながら、これは私にはうまくいきませんでした。アプリを起動しても昇格プロンプトが表示されず、hostsファイルに対してFile.AppendTextを呼び出すと、System.UnauthorizedAccessExceptionがスローされます。「パス'C:\ Windows \ System32 \ drivers \ etc\hosts'へのアクセスは拒否された。"
HostsChanger.exe.manifest:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="HostsChanger" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
何か案は?