Я использую неправильный файл .exe для создания пакета Chocolatey? - PullRequest
1 голос
/ 21 февраля 2020

Мне нужно будет создать кучу местных шоколадных пакетов, и я до сих пор не могу создать свой первый. Чтобы все было правильно, нужно ли использовать 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

Я только что вышел из документацию, которую я могу найти, но на самом деле не знаю, что искать. Я знаю, что мои пакеты должны быть получены из местных источников, но это все. Если я смогу создать один успешный пакет и действительно понять его, я думаю, что я смогу добиться успеха с остальными.

1 Ответ

1 голос
/ 22 февраля 2020

Существует несколько учебных пособий, которые помогут вам создать пакет NuGet. Chocolatey устанавливает пакеты nuget из локального источника или артефакта и использует упакованный файл nuget. Этот пакет nuget содержит файл nuspe c, содержащий папку meta, папку с инструментами, в которой обычно содержатся исполняемые файлы или пользовательское приложение или сценарий, а также сценарии установки и удаления шоколада.

Choco new packageName должен помочь вам получить пакет с все файлы
После изменения данных choco pack <path/to/nuspec>

Без пакета nuget шоколадные установки работать не будут.

Один источник о том, как создать пакет NuGet

Хороший источник

Google, как создать пакет nuget, а затем протестировать его локально.

...