我将不得不创建一堆本地巧克力包装,但仍然无法创建我的第一个巧克力包装。为弄清楚这一点,我是否需要使用installer.exe
进行打包?
这是chocolateyinstall.ps1
的示例,我可以尝试进行第一次打包,我将armcc.exe
用于我要制作的ARM RVCT安装程序。
$ErrorActionPreference = 'Stop'; # stop on all errors
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$fileLocation = Join-Path $toolsDir 'armcc.exe'
$packagename = 'ARM_RVCT'
$packageArgs = @{
packageName = $packagename
fileType = 'EXE' #only one of these: exe, msi, msu
file = $fileLocation
softwareName = 'ARM_RVCT*' #part or all of the Display Name as you see it in Programs and Features. It should be enough to be unique
validExitCodes= @(0, 3010, 1641)
silentArgs = '/VERYSILENT'
#silentArgs = '/s' # InstallShield
#silentArgs = '/s /v"/qn"' # InstallShield with MSI
#silentArgs = '/s' # Wise InstallMaster
#silentArgs = '-s' # Squirrel
#silentArgs = '-q' # Install4j
#silentArgs = '-s' # Ghost
# Note that some installers, in addition to the silentArgs above, may also need assistance of AHK to achieve silence.
#silentArgs = '' # none; make silent with input macro script like AutoHotKey (AHK)
}
Install-ChocolateyInstallPackage @packageArgs # https://chocolatey.org/docs/helpers-install-chocolatey-install-package
我刚刚关闭了可以找到的文档,但实际上不知道要查找什么。我知道我的软件包需要本地来源,仅此而已。如果我可以创建一个成功的程序包并真正理解它,我想我应该可以在其余的程序中成功。
答案 0 :(得分:1)
有许多教程可以引导您完成创建NuGet包的过程。 Chocolatey从本地源或工件安装nuget软件包,并使用打包的nuget文件。此nuget软件包包含nuspec文件,该文件包含meta,tools文件夹,该文件夹通常包含任何可执行文件或自定义应用程序或脚本以及Chocolatey安装和卸载脚本。
Choco new packageName
应该让您使用包含所有文件的软件包
完成修改数据后,choco pack <path/to/nuspec>
没有nuget软件包,巧克力般的安装将无法正常工作。
One source on how to create NuGet package
Google如何创建nuget程序包,然后在本地对其进行测试。