none
VS2017をインストールしたパス名の取得。環境変数やレジストリにも見当たらない。VS2015ではあったのですが・・・ RRS feed

  • 質問

  • 皆様、よろしくお願いします。

    VS2017のインストールされているパス名を取得したいと思っています。
    VS2015では、下記の通り、環境変数、レジストリで取得できていました。VS2013でも同様でした。
    ・環境変数
    VS140COMNTOOLS=C:\Program Files\Microsoft Visual Studio 14.0\Common7\Tools\
    ・レジストリ
    HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0Exp_Config\InstallDir
    C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\


    ただ、VS2017になってからはどこを探しても、見当たりません。
    どこを見れば、VS2017のパス名を取得できるのでしょうか?
    Tools/IDEなどの、末端のパス名は、多少違っていても良いと考えています。

    下記の通りの、VS2017のパス名を取得したいと思っております。
    C:\Program Files\Microsoft Visual Studio\2017\Professional\Common7\IDE

    2017年3月12日 6:02

回答

  • インストーラーの変更とディレクトリ構成の変更により、環境変数は提供されなくなりました。

    その代わりにvswhereというコマンドが提供されるようになりました。

    あとはこれとは別に次のレジストリキーにパスがありました。

    • 32bit OSではHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7
    • 64bit OSではHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7
    2017年3月12日 6:16
  • 参考情報に過ぎませんが、Visual Studio 2017 は Community, Professional, Enterprise をすべて共存させることができます。
    そうする人はまれでしょうけど、そういった環境の時にどのパスを取得するのか?という疑問はありますね。
    (プログラムのショートカットは最初にインストールしたものを指し示していました)
    2017年3月12日 7:03
    モデレータ
  • VS2017をインストールしたマシンのどこを探してもvswhereというコマンドがありません。

    特定のディレクトリにインストールされていたら鶏と卵では…? ですからvswhereリポジトリのリリースページで配布されています。

    これだとCommunity, Professional等のエディションの違いで下位のパス名が変わってくるのです。

    どういうことでしょうか? 手元のPCではVS2015とVS2017がインストールされていますが、

    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7
        14.0    REG_SZ    C:\Program Files (x86)\Microsoft Visual Studio 14.0\
        15.0    REG_SZ    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\

    となっています。

    2017年3月12日 9:43
  • 灰色背景は「引用文」を表すので、自分のコメントはその外に書くようにしてください。
    難しいようなら、無理に引用ブロックを使わず、自分でコピペした文章の文の先頭に > をつけて引用とわかるようにするといった手もあります。

    さて、vswhere のプロジェクトページで Release で検索すればリリース物のページへのリンクを見つけられると思います。
    それを実行すると、複数のエディションが入っていようともきちんとインストールパスがそれぞれ得られるみたいですので、そこから工夫してみてください。
    出力例:http://wp.me/p19AcI-81

    // レジストリは「最初にインストールしたインスタンス」のパスが入っている模様。

    2017年3月12日 10:20
    モデレータ

すべての返信

  • インストーラーの変更とディレクトリ構成の変更により、環境変数は提供されなくなりました。

    その代わりにvswhereというコマンドが提供されるようになりました。

    あとはこれとは別に次のレジストリキーにパスがありました。

    • 32bit OSではHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7
    • 64bit OSではHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7
    2017年3月12日 6:16
  • 参考情報に過ぎませんが、Visual Studio 2017 は Community, Professional, Enterprise をすべて共存させることができます。
    そうする人はまれでしょうけど、そういった環境の時にどのパスを取得するのか?という疑問はありますね。
    (プログラムのショートカットは最初にインストールしたものを指し示していました)
    2017年3月12日 7:03
    モデレータ
  • 回答、感謝申し上げます。

    > その代わりにvswhereというコマンドが提供されるようになりました。
    との事ですが、VS2017をインストールしたマシンのどこを探しても
    vswhereというコマンドがありません。
    これは、コマンドラインで打つものとは違うのでしょうか?
    もし、ご存知でしたら教えていただければ幸いです。

    > あとはこれとは別に次のレジストリキーにパスがありました。
    確認させていただきました。
    ただ、これだとCommunity, Professional等のエディションの違いで
    下位のパス名が変わってくるのです。
    あと少しだけに、残念です。

    2017年3月12日 8:23
  • 回答、感謝申し上げます。

    >そういった環境の時にどのパスを取得するのか?という疑問はありますね。
    そうなんですよね。
    私も、実は同じことを考えておりました。
    ただ、最終的にインストールしたエディションのパス名を、簡単に取れても良いのかなと思って探しております。

    2017年3月12日 8:24
  • VS2017をインストールしたマシンのどこを探してもvswhereというコマンドがありません。

    特定のディレクトリにインストールされていたら鶏と卵では…? ですからvswhereリポジトリのリリースページで配布されています。

    これだとCommunity, Professional等のエディションの違いで下位のパス名が変わってくるのです。

    どういうことでしょうか? 手元のPCではVS2015とVS2017がインストールされていますが、

    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7
        14.0    REG_SZ    C:\Program Files (x86)\Microsoft Visual Studio 14.0\
        15.0    REG_SZ    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\

    となっています。

    2017年3月12日 9:43
  • 灰色背景は「引用文」を表すので、自分のコメントはその外に書くようにしてください。
    難しいようなら、無理に引用ブロックを使わず、自分でコピペした文章の文の先頭に > をつけて引用とわかるようにするといった手もあります。

    さて、vswhere のプロジェクトページで Release で検索すればリリース物のページへのリンクを見つけられると思います。
    それを実行すると、複数のエディションが入っていようともきちんとインストールパスがそれぞれ得られるみたいですので、そこから工夫してみてください。
    出力例:http://wp.me/p19AcI-81

    // レジストリは「最初にインストールしたインスタンス」のパスが入っている模様。

    2017年3月12日 10:20
    モデレータ
  • 有用な情報、本当に感謝いたします。

    > 特定のディレクトリにインストールされていたら鶏と卵では…?
    なるほどです。
    私は少し勘違いしております。
    すいません。

    > どういうことでしょうか? 手元のPCではVS2015とVS2017がインストールされていますが、
    全くもってその通りです。
    これについても、完ぺきに勘違いしております。
    重ねて申し訳ありません。

    2017年3月14日 11:40
  • 有用な情報、本当に感謝いたします。

    > そこから工夫してみてください。
    ありがとうございます。
    少し時間を、掛けてしっかり読み解きたいと思います。

    2017年3月14日 11:42