コマンド
_choco list -lo
_
インストールされたパッケージをリストします。しかし、Chocolateyアプリケーションがインストールされる場所をどのように判断すればよいですか?これまで、私は彼らを探し回らなければなりませんでした。
いくつかの例:
Program Files (x86)
に移動します%ALLUSERSPROFILE%\chocolatey\bin and %ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
_に行きます%ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
_に移動しました_choco list
_にどこに行ったかを知らせるフラグはありますか? ChocolateyGUIもこれを行っていないようです。
Debianのようなもの:
_dpkg-query
_
またはRedHatの:
_rpm -ql [package-name]
_
またはYUMのrepoquery:
_repoquery --list [package-name]
_
自作 :
_brew list [package-name]
_
現在、あなたが求めていることを行う方法はありません。
各Chocolateyパッケージは、MSIまたはEXEのラッパーであるという意味で一意であるか、既知の場所(つまりC:\ tools)への圧縮アーカイブの単純な抽出であるか、またはPowerShellモジュールである可能性があります。 PSModulePathに抽出するか、完全にカスタムなものにすることができます。
これは、同じことを実行する複数の方法があるWindowsエコシステムの副作用です。 Chocolateyは、少なくとも1つの場所で必要なすべてのパッケージを検索するメカニズムを提供することによって、これに何らかの順序を付けようとしていますが、Chocolateyが実行できることはあまりありません。
まったく別の見方をすると、以下を使用してインストール引数をChocolateyパッケージに渡すことができます。
https://github.com/chocolatey/chocolatey/wiki/CommandsInstall#installarguments-optional---v0981
これにより、理論的には、MSIまたはEXEベースのChocolateyパッケージのインストール引数を変更して、ファイルのインストール先を変更できます。このアプローチの使用例を次に示します。
http://chocolatey.org/packages/VisualStudio2013Ultimate
ただし、このアプローチには制限があります。だれもがMattのように時間を取って、可能なインストール引数について言及するわけではありません。MSIまたはEXEに送信される可能性のあるインストール引数を抽出するのは、かなり複雑なプロセスです。
ChocolateyGUIに関して、そしてその製品の現在のメンテナーとして、私はそれがこの分野で賢いことは何もないと言っています:-)。これはChocolateyが提供するコマンドラインツールのラッパーにすぎず、コマンドラインの使用を好まないユーザーが簡単に使用できるようにすることを目的としています。
残念ながら、私が知っていることではありません。インストールディレクトリはパッケージ自体によって決定されると思います。それは.nuspecファイルで定義されておらず、Chocolateyソースコードで明示的に定義されている場所はどこにもありません。
Chocolateyがパッケージのシムを生成する場合。 yourprogram.exe
次のPowershellワンライナーで実行可能ファイルへのパスを伝えることができます:
(yourprogram --shimgen-noop | sls "path to executable:" ) -split "path to executable:" | % {$_.Trim() }
これは、shimが.exeファイルの場合にのみ機能します。これは非常に一般的ですが、一部のパッケージでは.ps1、.cmd、または.batファイルさえ生成されます。これらのまれなケースでは、このレシピは機能しません。
cinst notepadplusplus.install -ia "'/D=E:\SomeDirectory\npp'"
MSIの場合、通常は-ia
:
INSTALLDIR=""E:\SomeDirectory\npp""
私はいくつかの便利なものを見つけました
C:\ProgramData\chocolatey\logs\choco.summary.log
C:\ProgramData\chocolatey\logs\chocolatey.log
確かに、これらのログには多くの冗長な(この場合)情報が含まれています。しかし、少なくともそれらは、実際にチョコレートが何をするかをよりよく理解するために見ることができます。