ChocolateyGUI でアプリ一覧を export しておけば、他のPCのインストールとか障害復旧時に自動でアプリがインストールできて、楽になるぞーと思っていたらうまく動かなかったのでメモ。
エラーはこんな感じ。 XML の構文エラー。
PS C:\temp> choco install -y 'choco-list-desktop.config'
Chocolatey v2.2.2
Installing from config file:
choco-list-desktop.config
By installing, you accept licenses for the packages.
Error deserializing response of type chocolatey.infrastructure.app.configuration.PackagesConfigFileSettings:
XML 宣言の構文が無効です。 行 1、位置 7。
This is try 1/3. Retrying after 400 milliseconds.
Error converted to warning:
XML 宣言の構文が無効です。 行 1、位置 7。
Error deserializing response of type chocolatey.infrastructure.app.configuration.PackagesConfigFileSettings:
XML 宣言の構文が無効です。 行 1、位置 7。
This is try 2/3. Retrying after 600 milliseconds.
Error converted to warning:
XML 宣言の構文が無効です。 行 1、位置 7。
Error deserializing response of type chocolatey.infrastructure.app.configuration.PackagesConfigFileSettings:
XML 宣言の構文が無効です。 行 1、位置 7。
Maximum tries of 3 reached. Throwing error.
Chocolatey installed 0/0 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
XML 宣言の構文が無効です。 行 1、位置 7。
.config ファイルはこんな感じです。
choco-list-desktop.config
<?xml encoding="utf-8"?>
<packages>
<package id="7zip" />
<package id="adobereader" />
<package id="brave" />
<package id="chocolatey" />
...
先頭行の xml 宣言を次のように書き換えれば OK。
<?xml version="1.0" encoding="utf-8"?>
おまけ
*.install
とか、cランタイムとか.netとか、依存でインストールされるものを削除したり、
バージョンを問わない(ピン止めしてない)アプリは version="..."
を消して .config ファイル作っておくと、update かけなくて済むので良いです。
最近だと cinst
とか短縮形のコマンド入らないのだけど、入れないようになったのか?
cinst choco-list.config -y
って打つんだよ。という解説サイトばっかりヒットするけど
choco install coco-list.config -y
で大丈夫。