如何获取用于构建静默安装的组件

How to get components for building a silent install

所以当 运行 一个可执行文件时,你知道如何检查一堆参数(比如包括桌面图标),我如何获得可执行文件的可用组件列表,所以我可以从命令行将这些组件传递给可执行文件吗?我研究并发现了无声参数,您可以在命令末尾附加 /components 来执行此操作:

SomeExecut.exe /COMPONENTS = "comp1,comp2"

进一步说明: 我的最终目标是使用 chocolatey 将包安装到机器上,但是,默认值并不总是 select 我们需要的属性,我想创建带有可执行文件的自定义 choco 包,并将适当的参数传递给 choco install MYPACKAGE。

如有任何其他建议,我们将不胜感激!!

对于开源 Chocolatey 和 Chocolatey 本身之外的产品,答案是您将研究 each 软件安装程序以找到它们。每个安装程序的构建方式都不同。我们喜欢说每个软件都是一片特殊的雪花。

有 20 多种不同的已知安装程序类型。 Chocolatey 知道其中的大部分。他们中的大多数人没有太多可提供的,例如 NSIS.

InnoSetup has "COMPONENTS" like you are seeing. What exactly is available is defined by each installer. In a future version of Package Builder (part of Chocolatey for Business), it is going to automatically extract these and provide them as package parameters供您使用。

MSI(Windows 安装程序)有 MSI Properties. Package Builder already extracts these and adds them to the install script as a comment and to the package description as options to pass as --install-arguments.

包生成器提取

给你一个想法,这就是在 Windows MSI 的 Puppet-Agent 上右键单击创建程序包会让你成为在大约 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>

要将其提取到 markdown,它是这样的:

包特定

安装程序属性

可以传递以下安装参数:

  • 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.