对于开源 Chocolatey 和 Chocolatey 本身之外,答案是您将研究每个软件安装程序以找到它们。每个安装程序的构建方式都不同。我们喜欢说每个软件都是一片特殊的雪花。
有 20 多种不同的已知安装程序类型。Chocolatey 知道其中的大多数。他们中的大多数都没有太多东西可以提供,例如NSIS。
InnoSetup具有您所看到的“组件”。确切可用的内容由每个安装程序定义。在Package Builder(Chocolatey for Business 的一部分)的未来版本中,它将自动提取这些并将它们作为包参数提供给您使用。
MSI(Windows 安装程序)具有MSI 属性。Package Builder已经提取了这些并将它们作为注释添加到安装脚本中,并将它们作为选项添加到包描述中以传递为--install-arguments
.
包生成器提取
给你一个想法,这是在 Puppet-Agent for Windows MSI 上右键单击创建包将让你成为在大约 5 秒内创建的完全无人值守的软件部署包的一部分:
<description>Puppet-Agent
### Package Specific
#### Installer Properties
The following install arguments can be passed:
* `ALLUSERS`
* `PUPPET_AGENT_ACCOUNT_DOMAIN`
* `PUPPET_AGENT_ACCOUNT_USER`
* `PUPPET_AGENT_ACCOUNT_PASSWORD`
* `PUPPET_MASTER_SERVER`
* `PUPPET_AGENT_ENVIRONMENT`
* `PUPPET_AGENT_CERTNAME`
* `PUPPET_CA_SERVER`
* `PUPPET_AGENT_STARTUP_MODE`
* `INSTALLDIR`
* `INSTALLDIR_X86`
To append install arguments to the current silent arguments passed to the installer, use `--install-arguments="''"` or `--install-arguments-sensitive="''"`. To completely override the silent arguments with your own, also pass `--override-arguments`.
Example: `choco install packageId [other options] --install-arguments="'PROPERTY=value PROPERTY2=value2'"`
To have choco remember parameters on upgrade, be sure to set `choco feature enable -n=useRememberedArgumentsForUpgrades`.
</description>
要将其拉出降价,这就是它的样子:
特定包装
安装程序属性
可以传递以下安装参数:
ALLUSERS
PUPPET_AGENT_ACCOUNT_DOMAIN
PUPPET_AGENT_ACCOUNT_USER
PUPPET_AGENT_ACCOUNT_PASSWORD
PUPPET_MASTER_SERVER
PUPPET_AGENT_ENVIRONMENT
PUPPET_AGENT_CERTNAME
PUPPET_CA_SERVER
PUPPET_AGENT_STARTUP_MODE
INSTALLDIR
INSTALLDIR_X86
要将安装参数附加到传递给安装程序的当前静默参数,请使用--install-arguments="''"
或--install-arguments-sensitive="''"
。要使用您自己的参数完全覆盖静默参数,也可以通过--override-arguments
. 示例:choco install packageId [other options] --install-arguments="'PROPERTY=value PROPERTY2=value2'"
要让 choco 在升级时记住参数,请务必设置choco feature enable -n=useRememberedArgumentsForUpgrades
.