

Chocolateyでインストールしたパッケージ一覧を別のWindowsマシンに一括インストールしたいと考えています。

はじめは元のマシンからパッケージ名だけを取得して、その一覧を基に再インストールすれば良いかと考えました。

[code]

    choco list --localonly --idonly
    
[/code]

ただ、この方法ではパッケージインストール時に追加で指定したパラメータを考慮してくれません。（ChocolateyGUIのエクスポート機能もパッケージ名とバージョン番号のみの出力でした）

例えば[Gitのインストール例](https://chocolatey.org/docs/commandsinstall#examples)には以下のように
`--params` `--install-args` の２種類の追加パラメータを指定することができます。

[code]

    choco install git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'" --install-args="'/DIR=C:\git'"
    
[/code]

これらの追加パラメータを `choco list` の表示と一緒に出力させる方法はあるでしょうか？


CC BY-SA 4.0
2020-01-11T21:11:21.623
62174
2020-01-15T13:45:43.137
2391
question
chocolatey
Chocolatey でインストールしたソフトウェアの追加パラメータを取得したい


たぶん **ない** です。

[package.config](https://chocolatey.org/docs/commandsinstall#packagesconfig)を使えばインストール時オプションを含めて管理ができます。そこで、package.configをエクスポートできる[Chocolatey
GUI](https://chocolatey.org/packages/ChocolateyGUI)を試したのですが、インストール時オプションは反映されませんでした。そもそも、インストール時オプションは何処にも保存されていない可能性が高いです(アップデートにおいては、それぞれのソフトが自分で現在の状態を把握してアップデートするはずなので、Chocolateyがインストール時オプションを覚えておく必要が無い)。Chocolatey本体や設定が入っているディレクトリ"C:\ProgramData\chocolatey"以下を探してみましたが、相当するようなものはありませんでした。

別マシンと共通としたい場合は、package.configを作って、package.configのみでインストールとした方が良いかと思います。既にインストール済みのものについては、"C:\ProgramData\chocolatey\logs"にあるログからインストール時のコマンドを抜き出してくるぐらいしか方法はないでしょう。


CC BY-SA 4.0
2020-01-12T00:03:27.883
62176
2020-01-12T00:03:27.883
7347
62174
answer


質問後にいくつか調べた結果、制限付きですが出力できることがわかったので共有します。

  * 各パッケージのインストール情報は `%ChocolateyInstall%\.chocolatey\[PACKAGE_NAME]\` 以下に保存されている
  * `.arguments` が追加パラメータに関するファイル（ただし暗号化されている）
  * サードパーティ製の復号ツールで出力可能 [DecryptChocoArgs](https://github.com/CollinChaffin/DecryptChocoArgs)

ツールの実行例は以下のとおり (`--cache-location` はシステム側で追加したものと思われます)：

[code]

    C:\> DecryptChocoArgs.exe C:\ProgramData\chocolatey\.chocolatey\git.2.25.0\.arguments
    
    Decrypted Chocolately Arguments:
    
     --package-parameters="'/NoShellIntegration /NoAutoCrlf /SChannel'" --cache-location="'C:\Users\kosh\AppData\Local\Temp\chocolatey'"
    
[/code]

ただ、これらは Chocolatey
の内部システムが利用している情報のため今後変更される可能性があること、ツールの利用もあくまで自己責任で、という感じになります。

参考リンク: [chocolatey/choco#797](https://github.com/chocolatey/choco/issues/797)


CC BY-SA 4.0
2020-01-15T13:45:43.137
62268
2020-01-15T13:45:43.137
2020-06-17T08:14:45.997
-1
2391
62174
answer