A certain engineer "COMPLEX"

開発メモ その42 環境変数PATHの最大長を2047から4095に緩和する

Problem


開発環境にVisual StudioSQL ServerIntel製品CUDAとかインストールしていると、環境変数PAHTの長さが恐ろしいことになる。今数えてみたら、2400を超えていた。
試しに整理してみたら、

  • C:\Intel\INDE\code_builder_5.2.0.65\bin\GTPin
  • C:\Intel\INDE\code_builder_5.2.0.65\bin\Pin
  • C:\Intel\INDE\code_builder_5.2.0.65\bin\x64
  • C:\Intel\INDE\code_builder_5.2.0.65\bin\x86
  • C:\Intel\INDE\IDEintegration\ANT
  • C:\Intel\INDE\IDEintegration\NDK
  • C:\Intel\INDE\IDEintegration\NDK\build\tools
  • C:\Intel\INDE\IDEintegration\SDK\platform-tools
  • C:\Intel\INDE\IDEintegration\SDK\tools
  • C:\Intel\INDE\media_sdk_6.0.0.388\bin\win32
  • C:\Intel\INDE\media_sdk_6.0.0.388\bin\x64
  • C:\Program Files (x86)\Calibre2\
  • C:\Program Files (x86)\Common Files\Acronis\SnapAPI\
  • C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live
  • C:\Program Files (x86)\GtkSharp\2.12\bin
  • C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\
  • C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
  • C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\
  • C:\Program Files (x86)\nodejs\
  • C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
  • C:\Program Files (x86)\Skype\Phone\
  • C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\
  • C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\
  • C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\
  • C:\Program Files (x86)\Windows Live\Shared
  • C:\Program Files\CloudFoundry
  • C:\Program Files\Common Files\Microsoft Shared\Windows Live
  • C:\Program Files\dotnet\
  • C:\Program Files\Git\cmd
  • C:\Program Files\IBM\Bluemix\bin
  • C:\Program Files\Microsoft DNX\Dnvm\
  • C:\Program Files\Microsoft MPI\Bin\
  • C:\Program Files\Microsoft SQL Server\110\Tools\Binn\
  • C:\Program Files\Microsoft SQL Server\120\Tools\Binn\
  • C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
  • C:\Program Files\Microsoft Windows Performance Toolkit\
  • C:\Program Files\Microsoft\Web Platform Installer\
  • C:\Program Files\Miniconda2
  • C:\Program Files\Miniconda2\Library\bin
  • C:\Program Files\Miniconda2\Scripts
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\bin
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\libnvvp
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\libnvvp
  • C:\Program Files\TortoiseGit\bin
  • C:\Program Files\TortoiseSVN\bin
  • C:\Program Files\WinMerge
  • C:\ProgramData\Oracle\Java\javapath
  • C:\Users\XXXXXX.dnx\bin
  • C:\Users\XXXXXX\AppData\Roaming\npm
  • C:\Windows
  • C:\Windows\system32
  • C:\Windows\System32\Wbem
  • C:\Windows\System32\WindowsPowerShell\v1.0\
  • C:\Windows\System32\WindowsPowerShell\v1.0\
  • C:\Windows\System32\WindowsPowerShell\v1.0\
  • C:\Windows\System32\WindowsPowerShell\v1.0\
  • C:\Windows\System32\WindowsPowerShell\v1.0\
  • C:\Windows\System32\WindowsPowerShell\v1.0\

になっていた。
何でPowerShellは重複しているんですかねぇ...

とりあえず不要なパスを削りましたが、まだ2290...多すぎます。

Solution


で、どうもひっそりと環境変数PATHの最大長を伸ばすパッチがWindows7用に公開されているとのこと。
パッチは下記から入手可能。

Error messages after you change the 2047 character limit in an environment variable on a computer that is running Windows Vista, Windows 7, Windows Server 2008 or Windows Server 2008 R2

ページ上部のHotfix download availableからダウンロードできます。
ダウンロードはメールアドレスを入力してから、そのアドレスにダウンロード先が転送される方式です。

対象は

  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008 Service Pack 2 (SP2)
  • Windows 7
  • Windows 7 Service Pack 1 (SP1)
  • Windows Server 2008 R2
  • Windows Server 2008 R2 Service Pack 1 (SP1)

になります。
ただし注意として

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

サポートするHotfixはMicrosoftから利用できます。しかしながら、このHotfixはこの記事で記載している問題のみを是正することを意図しています。この記事で記載している問題に遭遇しているシステムに対してのみ、このHotfixを適用します。このHotfixは追加のテストを受けているでしょう、そのため、この問題で深刻な問題を受けていないならば、(Microsoftは)このHotfixが含まれる次のソフトウェアのアップデートを待つことをお勧めします。

とあります。
自己責任でお願いします。
パッチ適用後は再起動が必須。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。