Visual Studioを管理者権限で起動する

Visual StudioでASP.NETやNode.jsなどを使用して作成したプロジェクトのデバッグを行う際に、プロセスにアタッチすると以下のダイアログボックスが表示されることがあります。

Visual Studio管理者権限で再起動確認ダイアログボックス

また、Windowsのレジストリを操作するプログラムやイベントログを操作するプログラムの場合などにも、管理者権限で実行されていないと例外が発生する場合があります。

そこで今回は、Visual Studioを管理者権限で起動する方法について書き留めておきます。

ショートカットとVSLauncher.exeの設定

ショートカットの設定

スタートメニューのVisual Studioを右クリックします。
コンテキストメニューが表示されますので「その他」をクリックして「ファイルの場所を開く」をクリックします。

開いた場所(C:\ProgramData\Microsoft\Windows\Start Menu\Programsフォルダー)にあるVisual Studioのショートカットを右クリックします。
コンテキストメニューが表示されますので「プロパティ」をクリックしてください。

「ショートカット」タブ内の右下にある「詳細設定」ボタンをクリックします。

「詳細設定ボタンを」クリックすると詳細プロパティダイアログボックスが表示されます。

詳細プロパティダイアログボックスの「管理者として実行」のチェックボックスのチェックをつけて「OK」ボタンをクリックします。

ショートカットの詳細プロパティの管理者として実行を選択

以下のダイアログボックスが表示されたら「続行」ボタンをクリックします。

スタートメニューのVisual Studioショートカットの管理者として実行変更後のダイアログボックス

Visual Studioをタスクバーにピン留めしている場合は、スタートメニューと同様に右クリックして表示されるコンテキストメニューから「Visual Studio 20XX」>「プロパティ」をクリックして、ショートカットの詳細設定を行ってください。

Visual Studioタスクバーランチャーのプロパティ

VSLauncher.exeの設定

次のパスにあるVSLauncher.exeを右クリックしてコンテキストメニューを表示し、コンテキストメニューの「プロパティ」をクリックします。

VSLauncher.exeのプロパティのダイアログボックスが表示されますので「互換性」タブにある「設定」の「管理者としてこのプログラムを実行する」のチェックボックスのチェックをつけて「OK」ボタンをクリックします。

VSLauncher.exeはソリューションファイルなどを直接起動した際に動作する実行ファイルです。

VSLauncher.exeのプロパティダイアログボックスの管理者として実行を選択

レジストリを変更する方法

レジストリを変更することによって、Visual Studioを常に管理者権限で起動することもできます。
具体的には、devenv.exeの管理者起動設定とVSLauncher.exeの管理者起動設定を行います。

レジストリエディターの起動

スタートメニューを右クリックします。表示されるクイックリンクメニュー(コンテキストメニュー)の「ファイル名を指定して実行」をクリックします。

クイックリンクメニューのファイル名を指定して実行
ファイル名を指定して実行はCtrol + Rキーを押すことで起動することもできます。

ファイル名を指定して実行ダイアログボックスが表示されたらテキストボックスに「regedit」と入力して「OK」ボタンをクリックします。

ファイル名を指定して実行ダイアログボックスでregeditを入力

「regedit」と入力して「OK」ボタンをクリックすると「レジストリ エディター」が起動します。

レジストリエディターを起動

文字列値の追加

レジストリエディターを起動したらメニューバーの下にあるアドレスバーに以下のパスを入力します。

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

レジストリエディターパス入力

パスを入力したらEnterキーを押します。

レジストリエディターパス入力後移動

入力したパスに移動したら2つの文字列値を作成します。
文字列値の作成は、メニューバーの「編集」>「新規」>「文字列値」をクリックするか、右ペインを右クリックして表示されるコンテキストメニューの「新規」>「文字列値」をクリックしてください。

作成した2つの文字列値の名前は以下のようにします。

C:\Program Files (x86)\Microsoft Visual Studio 15.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\VSLauncher.exe

1行目の「C:\Program Files (x86)\Microsoft Visual Studio 15.0」までのパスはVisual Studioをインストールした場所になりますので、環境によって変更してください。
例えば、Visual Studio Communityをデフォルトパスにインストールした場合は「C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE」になります。
Visual Studio 2015であれば「C:\Program Files (x86)\Microsoft Visual Studio 14.0」になります。

文字列値を作成できたら値のデータに「RUNASADMIN」を入力して「OK」をクリックします。

レジストリエディターVSLauncher.exeの文字列値にRUNASADMINを入力

ちなみに「RUNASADMIN」は「run as admin: 管理者として実行」という意味です。

ショートカットとVSLauncher.exeまたはレジストリの設定が終わった後、Visual Studioを起動して「ユーザー アカウント制御」のダイアログボックスが表示されれば、正しく設定が完了しています。