VSインストールのリストを調べ、インストールされている最高のバージョンを判断するPowerShellスクリプトがあります。その後、そのバージョンのInstallDirを使用して、それを使用してさまざまなコマンドにアクセスします。インストールされたVisual Studioのパスを2017に決定
まだまだは、より低いバージョンのを使用します。
VS2017では、レジストリキーがno longer saved in the same wayであるようです。 2017の設定を把握できるようにスクリプトを更新する必要があります。
#Add New Versions to this list when new versions of VS are released
$VsVersionsToDisable = "10.0", "11.0", "12.0", "14.0"
[System.Collections.ArrayList]$VsVersions = $VsVersionsToDisable
#Find the Highest installed VS Version, and use it for the TFS.exe Command.
foreach ($version in $VsVersions | Sort-Object -Descending)
{
$keyPath = "HKCU:\Software\Microsoft\VisualStudio\$version`_Config"
If (Test-Path $keyPath)
{
$aliasPath = Get-ItemProperty -Path $keyPath | Select-Object `
-ExpandProperty InstallDir
$proxyPath = Join-Path $aliasPath "tf.exe"
set-alias proxyTF $proxyPath
}
}
はXYの質問を避けるために:私たちはユーザーのためのTFSのプロキシ設定を構成するには、このスクリプトを使用します。インストールされている最高のバージョンを判断し、そのバージョンを使用してプロキシを検索し、次に同じバージョンのプロキシ設定を構成する下位バージョンを反復します。
VS2017のインストールディレクトリ(ともtf.exe
場所)を決定するための最良の方法は何ですか?私が見ることができるものから、
これは、VS2017では同じバージョンの複数のインストールが可能であることを指摘しています(たとえば、Community、Pro、Enterpriseをすべて別のパスにインストールすることができます)。場合。 – Jimmy
このアプローチは完全に正しいです。このレジストリエントリは、VS2017の最初のインストールタイプに対応するエントリのみをリストします。まずコミュニティ版をインストールしてからエンタープライズをインストールしたとします。レジストリエントリは、最初にインストールしたときにコミュニティ編集パスを指し示します。今でもコミュニティ版をアンインストールしても、レジストリエントリはコミュニティ版になります。 –
powershellで '15.0'の値を抽出する方法については、この[answer](https://stackoverflow.com/a/43912590/285795)を参照してください。 – OmegaMan