Al intentar crear un instalador silencioso para un programa, ¿puedo usar el setup.exe de ese programa en la carpeta de herramientas y generar una cuña para él? Si es así, ¿dónde se instala? Por ejemplo, eliminé todos los elementos de la carpeta de herramientas y los puse en setup.exe para ARM RVDS 4.1. Cuando hice choco pack generó una cuña pero ahora no sé qué hacer con él, o si lo hice bien.

1
DeZLearnsPCs 28 feb. 2020 a las 17:15

2 respuestas

La mejor respuesta

No desea configurar una cuña para el instalador; desea invocar el instalador desde chocolateyInstall.ps1 para instalar el programa. Una muestra de cómo haría esto en chocolateyInstall.ps1 para un exe de configuración sería:

$packageInstallArgs = @{
  PackageName = 'package-name'
  FileType = 'exe'
  SilentArgs = '/q /someOtherArguments' # This line is going to be installer specific, and is just a sample here
  File = 'C:\Path\to\installer' # can be a relative path too
  ValidExitCodes = 0, 1638 # array of acceptable return codes for the installer
}

Install-ChocolateyInstallPackage @packageInstallArgs

Si su setup.exe está incrustado dentro del paquete, puede hacer referencia al directorio actual de la carpeta del paquete con la siguiente variable de entorno: $env:chocolateyPackageFolder. Esta variable solo existe en el contexto de una instalación del paquete Chocolatey. Consulte aquí para obtener más información sobre las variables de entorno de Chocolatey.

Algunos detalles sobre el código anterior:

  • PackageName: este es el nombre (id) del paquete
  • FileType: ¿Es esto un 'exe' o un 'msi'?
  • SilentArgs: cualquier argumento requerido para realizar una instalación silenciosa del programa
  • Archivo: ruta relativa o absoluta al archivo instalador
  • ValidExitCodes: cualquier código de salida que debe tratarse como una instalación exitosa. Los que utilicé en mi muestra significan éxito (0) y se requiere reiniciar (1638). Consulte esta página para obtener más información sobre los códigos de salida del instalador estándar. Busque los códigos de error que comienzan con ERROR_SUCCESS para los códigos de éxito que puede necesitar admitir.

Opcionalmente, generaría cuñas para programas que no se colocan automáticamente en la RUTA por conveniencia, en el caso de que una cuña no se genere automáticamente.

El lugar donde se instala un programa depende de la ubicación predeterminada del instalador y de si el instalador le permite anularlo.


Tenga en cuenta que si bien las cuñas generadas automáticamente se eliminarán al desinstalarlas automáticamente, las cuñas creadas con {{X0} } debe eliminarse manualmente en la desinstalación del paquete usando Uninstall-BinFile de chocolateyUninstall.ps1.


Aquí hay más información sobre cuñas:

1
Bender the Greatest 28 feb. 2020 a las 15:14

Si coloca el archivo ejecutable en la carpeta de herramientas, Chocolatey creará una cuña cuando se instale el paquete. La cuña permite que el ejecutable esté disponible en la ruta.

Lo que desea hacer es ejecutar el instalador cuando se instala el paquete y lo hace utilizando el archivo chocolateyInstall.ps1. Si ejecuta choco new <packagename> obtendrá un archivo de muestra chocolateyInstall.ps1 que puede usar como plantilla.

1
pauby 28 feb. 2020 a las 14:51