MSIからパッケージを作成しました。ただし、カスタムパラメータを渡す必要があります。
/i SERVER='xx.yyy.com
ここに私がchocoコマンド仕様を読んで試したいくつかのことがありますが、どれもうまくいきませんでした。
> choco install foo -y --params "SERVER='xx.yyy.com'"
> choco install foo -y --params "SERVER=xx.yyy.com"
> choco install foo -y --params "SERVER= xx.yyy.com"
インストーラにインストールオプションを渡すにはどうすればよいですか?
ネイティブインストーラーに渡す場合は、--install-arguments
ではなく--package-parameters
を使用してください。
https://chocolatey.org/docs/commands-install#options-and-switches
--ia, --installargs, --installarguments, --install-arguments=VALUE
InstallArguments - Install Arguments to pass to the native installer in
the package. Defaults to unspecified.
-o, --override, --overrideargs, --overridearguments, --override-arguments
OverrideArguments - Should install arguments be used exclusively without
appending to current package passed arguments? Defaults to false.
--params, --parameters, --pkgparameters, --packageparameters, --package-parameters=VALUE
PackageParameters - Parameters to pass to the package. Defaults to
unspecified.
さらに、オプションとスイッチを渡す方法に関するドキュメントを調べることもできます- https://chocolatey.org/docs/commands-reference#how-to-pass-options-switches :
"'value'"
)を組み合わせて使用してください。 cmd.exeでは二重引用符("value"
)を使用できますが、powershell.exeではバッククォート( `" value` ")またはアポストロフィ('value'
)を使用する必要があります。組み合わせを使用すると、次のセクションが適用される場合を除いて、両方のシェルが問題なく動作することができます。"/yo=""Spaces spaces"""
のように渡す必要があります。 PowerShell.exeでは、次のように渡す必要があります:-ia '/yo=""Spaces spaces""'
。他の組み合わせは機能しません。 PowerShell.exeでバージョンv3 +を使用している場合は、--%
の前に-ia
を試して、引数をそのまま渡すことができます。つまり、特別な回避策は必要ありません。Chocoパッケージのパラメーターに値を設定する方法についての情報を見つけるのは非常に困難です。
choco install -h
はあまり役に立ちません。
(まったく異なるMSIパラメーターではなく)パッケージパラメーターの値を設定する簡単な例として、簡単で実行可能な例を次に示します。
choco install python2 --package-parameters='"/InstallDir:D:\Python2"'
「/ InstallDir」は、「python2」Chocoパッケージのパッケージパラメータとして記載されています。
「--package-parameters」にはいくつかのエイリアスがあることに注意してください。入力を節約したい場合は、「-params」が最短です。
また、値が割り当てられている「=」ではなく、コロンが使用されていることに注意してください。
値にスペースが必要な場合は、追加の二重引用符のペアで値を囲みます。つまり、4つの新しい文字が必要です。
...私はドキュメントを改善するためにChocoフォーラムに依頼しました。