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

Am I using the wrong .exe file for creating a Chocolatey package?

我将不得不创建一堆本地巧克力包,但我仍然无法创建我的第一个。为了弄清楚这一点,我需要使用 installer.exe 进行打包吗? 这是我第一次尝试打包时 chocolateyinstall.ps1 的示例,我在尝试制作的 ARM RVCT 安装程序中使用了 armcc.exe

$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 从本地源或人工制品安装 nuget 包,并使用打包的 nuget 文件。此 nuget 包包含包含元数据的 nuspec 文件、通常包含任何可执行文件或您的自定义应用程序或脚本的工具文件夹以及巧克力安装和卸载脚本。

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

没有 nuget 包,chocolatey 安装将无法工作。

One source on how to create NuGet package

Good source as well

Google 如何创建 nuget 包然后在本地测试它。