因此,当运行可执行文件时,您知道如何检查一组参数(如包含桌面图标),如何获取可执行文件的可用组件列表,以便将这些组件传递给从命令行可执行?我研究并遇到了无声的参数,你可以在命令的末尾添加/ components来执行此操作:
SomeExecut.exe /COMPONENTS = "comp1,comp2"
进一步说明: 我的最终目标是使用chocolatey将软件包安装到机器上,但是,默认情况下并不总是选择我们需要的属性,我想创建带有可执行文件的自定义choco软件包,并将适当的参数传递给choco install MYPACKAGE。
赞赏任何其他建议!!
答案 0 :(得分:2)
对于开源巧克力和外部的Chocolatey本身,答案是你会研究 每个 软件安装程序来找到它们。每个安装程序的构建都不同我们想说每个软件都是特殊的雪花。
有20多种不同的已知安装程序类型。 Chocolatey了解其中大部分内容。其中大部分内容都不多,例如NSIS。
InnoSetup就像你看到的那样有“组件”。每个安装程序都定义了确切的可用内容。在Package Builder的未来版本(Businessy for Business的一部分)中,它将自动提取这些并将其作为package parameters提供给您使用。
MSI(Windows Installer)有MSI Properties。 Package Builder已经提取了这些内容并将其作为注释添加到安装脚本中,并将其作为选项传递给包{2}}。
为了给您一个想法,这就是在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
。