我是否使用了错误的.exe文件来创建Chocolatey包



我将不得不创建一堆本地巧克力包,但我仍然无法创建第一个。为了澄清这一点,我是否需要使用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

我刚刚用完了我能找到的文件,但真的不知道该找什么。我知道我的包需要本地采购,但仅此而已。如果我能创建一个成功的包并真正理解它,我认为我应该能够成功地处理其他包。

有许多教程可以指导您创建NuGet包。Chocolatey安装来自本地源或artifactory的nuget包,并使用打包的nuget文件。这个nuget包包含nuspec文件,该文件包含meta,工具文件夹通常包含任何可执行文件或自定义应用程序或脚本,以及chocolatey安装和卸载脚本。

Choco new packageName应该会让你使用一个包含所有文件的包
修改数据后,choco pack <path/to/nuspec>

如果没有nuget软件包,chocolatey安装就无法工作。

关于如何创建NuGet包的一个来源

良好的来源以及

谷歌如何创建nuget包,然后在本地进行测试。

最新更新