管理者権限を必要とする Windows C# アプリケーションがあります。追加して変更するapp.manifestを作成しました
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
PCから直接実行すると、すべて問題なく、OSからUACが表示され、すべて正常に動作します。ここで、すべてのファイルを CD (または iso イメージ) に書き込むと、一部のコマンドが管理者権限で実行されず、エラーが発生します。特に、Directory.Delete、Directory.Copy (再帰パラメーターを使用) は機能しません。
また、デフォルトの Delete メソッドを次のようにラップしようとしました。
[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administrators")]
public static void delete(string source, bool recursive)
{
if (Directory.Exists(source))
{
Directory.Delete(source, recursive);
}
}
しかし、「プリンシパル許可の要求に失敗しました」というメッセージが表示されます。エラー。
他に欠けているものはありますか?PC のディレクトリで実行している場合と CD から実行している場合で異なるのはなぜですか?
ありがとう、ファビオ