「VB.net Shellで操作続行確認をスキップしてSQL Serverを停止する方法」で、Shellコマンドの確認をスキップすることができましたが、UACが有効だとSQL Serverを停止するときに、エラーが発生してしまいます。
スポンサーリンク
いちおう、実行ファイルのプロパティの互換性タブに、「管理者としてこのプログラムを実行する」というチェックボックスで設定することができます。
また、UACを無効にすればよいのですが、Windows10だと、Windows UpdateのタイミングにUACが有効になってしまうことがあるようです。
なので、アプリケーション自体を常に管理者として起動することにしました。
VB.netで作成したアプリケーションを常に管理者として起動する方法
プロジェクトを右クリックしてプロパティを表示します。
「Windows設定の表示」をクリック
「app.manifest」ファイルが開きます。
ここで、
のasInvokerをrequireAdministratorに書き換えます。
デバッグを開始すると、「このタスクを実行するには、アプリケーションのアクセス許可を引き上げる必要があります。 」と表示されます。
Visual Studio自体が管理者権限で実行されていないので、このようなメッセージが表示されます。
「異なる資格情報で再起動(R)」をクリックします。
以上で、完了です。
プログラムのアイコンが変化します。
管理者権限で実行しないexeファイルのアイコン
管理者権限で実行するexeファイルのアイコン
これで問題ないのですが、Visual Studioを常に管理者権限で実行するようにしておかないと、毎回、
というメッセージがでて、再起動する羽目になります。
この件に関しては、こちらの記事を参考にしてください。
→Visual Studioを常に管理者権限で実行する方法