.net File.Delete を使用して Windows\System32 からファイルを削除するコンソール アプリケーションを作成しようとしています。アプリケーションは Windows 7 で実行されますが、ファイルが見つからないと言われているため失敗します。
調査したところ、フレームワークのセキュリティ制限であることがわかりましたが、マニフェスト ファイルをソリューションに追加し、それが含まれるように編集すると、こちらの同様の質問への回答も見つかりました。
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
その後、アプリケーションを起動するたびに、自分が管理者であることを「証明」するためにユーザー名とパスワードの入力を求められ、アプリケーションは System32 でファイルを見つけて、期待どおりに削除します。
これは起こりません。u\p のプロンプトが表示されず、プログラムが失敗します。debug\release\32-bit\64-bit を試してみました。
何かアドバイス?
完全なマニフェスト:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="EclCleaner.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>