Winrar SFX 機能を使用して、実行可能ファイルを含むパッチ ファイルを作成しました。SFX
ファイルを実行して抽出が終了した後、実行可能ファイルは管理者権限がないため実行されません。何らかのプログラミング方法 (バッチ ファイルなど) でそのファイルに管理者アクセスを許可する方法を知りたいです。
右クリックして「プロパティ」に移動し、「互換性」タブを選択して、「管理者として実行」ボックスにチェックを入れればよいことはわかっています。
問題は、そのパッチをダウンロードするユーザーがそれを知らないことです (私の exe は、右クリックして「管理者として開く」を選択した場合にのみ実行され、それ以外の場合は開かれず、UAC ポップアップも表示されません)。
「Elevator Runner (Elevate me)」など、いくつかの方法を試しましたが、実際はもっと簡単な方法を探しています。exe を
常に管理者として実行するようにするだけです。
答え1
必要なのは、アプリケーションマニフェストEXE に入力します。
以下をテキストファイルとして保存します。App.exe.マニフェスト:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>
Windows SDK をダウンロードします。
中には実行ファイルつまりマニフェストツール次のように呼び出します。
mt.exe -manifest "App.exe.manifest" -outputresource:"App.exe";#1
エラーがなければ完了です。マニフェスト ファイルを削除して、EXE のみを配布できます。これを実行すると、毎回自動的に管理者アクセスが要求されるようになります。
答え2
アーカイブを作成するときは、管理アクセスをリクエスト。