Package Builder Command (choco new)

Chocolatey Licensed editions include some level of Package Builder.

  • Professional can take advantage of Package Builder UI minus the auto-detection
  • Business can use --file or Package Builder UI to generate a fully ready to go unattended software deployment in seconds. Right-click, ‘Create Package…’
  • Business can use --from-programs-and-features to generate packages directly from Programs and Features!

See more information about Package Builder features

New Command (choco new)

Chocolatey will generate package specification files for a new package.

Usage

    choco new <name> [<options/switches>] [<property=value> <propertyN=valueN>]

Possible properties to pass:

    packageversion
    maintainername
    maintainerrepo
    installertype
    url
    url64
    silentargs

:choco-info: NOTE

You can pass arbitrary property value pairs through to templates. This really unlocks your ability to create packages automatically!

:choco-info: NOTE

Chocolatey for Business can create complete packages by just pointing the new command to native installers!

:choco-info: NOTE

Chocolatey for Business can also download and internalize remote resources from existing packages so that existing packages can be used without being tied to the internet. This is called automatic recompile.

Examples

    choco new bob
    choco new bob -a --version 1.2.0 maintainername="'This guy'"
    choco new bob silentargs="'/S'" url="'https://somewhere/out/there.msi'"
    choco new bob --outputdirectory Packages

:choco-info: NOTE

See scripting in how to pass arguments (choco -?) for how to write proper scripts and integrations.

Exit Codes

Exit codes that normally result from running this command.

Normal:

  • 0: operation was successful, no issues detected
  • -1 or 1: an error has occurred

If you find other exit codes that we have not yet documented, please file a ticket so we can document it at https://github.com/chocolatey/choco/issues/new/choose.

Options and Switches

:choco-info: NOTE

Options and switches apply to all items passed, so if you are running a command like install that allows installing multiple packages, and you use --version=1.0.0, it is going to look for and try to install version 1.0.0 of every package passed. So please split out multiple package calls when wanting to pass specific options.

Includes default options/switches (included below for completeness).


 -?, --help, -h
     Prints out the help menu.

     --online
     Online - Open help for specified command in default browser application. 
       This option only works when used in combintation with the -?/--help/-h 
       option.  Available in 2.0.0+

 -d, --debug
     Debug - Show debug messaging.

 -v, --verbose
     Verbose - Show verbose messaging. Very verbose messaging, avoid using 
       under normal circumstances.

     --trace
     Trace - Show trace messaging. Very, very verbose trace messaging. Avoid 
       except when needing super low-level .NET Framework debugging.

     --nocolor, --no-color
     No Color - Do not show colorization in logging output. This overrides 
       the feature 'logWithoutColor', set to 'False'.

     --acceptlicense, --accept-license
     AcceptLicense - Accept license dialogs automatically. Reserved for 
       future use.

 -y, --yes, --confirm
     Confirm all prompts - Chooses affirmative answer instead of prompting. 
       Implies --accept-license

 -f, --force
     Force - force the behavior. Do not use force during normal operation - 
       it subverts some of the smart behavior for commands.

     --noop, --whatif, --what-if
     NoOp / WhatIf - Don't actually do anything.

 -r, --limitoutput, --limit-output
     LimitOutput - Limit the output to essential information

     --timeout, --execution-timeout=VALUE
     CommandExecutionTimeout (in seconds) - The time to allow a command to 
       finish before timing out. Overrides the default execution timeout in the 
       configuration of 2700 seconds. Supply '0' to disable the timeout.

 -c, --cache, --cachelocation, --cache-location=VALUE
     CacheLocation - Location for download cache, defaults to %TEMP% or value 
       in chocolatey.config file.

     --allowunofficial, --allow-unofficial, --allowunofficialbuild, --allow-unofficial-build
     AllowUnofficialBuild - When not using the official build you must set 
       this flag for choco to continue.

     --failstderr, --failonstderr, --fail-on-stderr, --fail-on-standard-error, --fail-on-error-output
     FailOnStandardError - Fail on standard error output (stderr), typically 
       received when running external commands during install providers. This 
       overrides the feature failOnStandardError.

     --use-system-powershell
     UseSystemPowerShell - Execute PowerShell using an external process 
       instead of the built-in PowerShell host. Should only be used when 
       internal host is failing.

     --no-progress
     Do Not Show Progress - Do not show download progress percentages.

     --proxy=VALUE
     Proxy Location - Explicit proxy location. Overrides the default proxy 
       location of ''.

     --proxy-user=VALUE
     Proxy User Name - Explicit proxy user (optional). Requires explicit 
       proxy (`--proxy` or config setting). Overrides the default proxy user of 
       ''.

     --proxy-password=VALUE
     Proxy Password - Explicit proxy password (optional) to be used with user 
       name. Encrypted. Requires explicit proxy (`--proxy` or config setting) 
       and user name (`--proxy-user` or config setting).  Overrides the default 
       proxy password.

     --proxy-bypass-list=VALUE
     ProxyBypassList - Comma separated list of regex locations to bypass on 
       proxy. Requires explicit proxy (`--proxy` or config setting). Overrides 
       the default proxy bypass list of ''.

     --proxy-bypass-on-local
     Proxy Bypass On Local - Bypass proxy for local connections. Requires 
       explicit proxy (`--proxy` or config setting). Overrides the default 
       proxy bypass on local setting of 'True'.

     --log-file=VALUE
     Log File to output to in addition to regular loggers.

     --skipcompatibilitychecks, --skip-compatibility-checks
     SkipCompatibilityChecks - Prevent warnings being shown before and after 
       command execution when a runtime compatibility problem is found between 
       the version of Chocolatey and the Chocolatey Licensed Extension. 
       Available in 1.1.0+

     --ignore-http-cache
     IgnoreHttpCache - Ignore any HTTP caches that have previously been 
       created when querying sources, and create new caches. Available in 2.1.0+

 -a, --auto, --automaticpackage
     AutomaticPackage - Generate automatic package instead of normal. 
       Defaults to false

 -t, --template, --template-name=VALUE
     TemplateName - Use a named template in 
       C:\source\choco\code_drop\temp\_PublishedApps\choco_merged\templates\tem-
       platename instead of built-in template.

     --name=VALUE
     Name [Required]- the name of the package. Can be passed as first 
       parameter without "--name=".

     --version=VALUE
     Version - the version of the package. Can also be passed as the property 
       PackageVersion=somevalue

     --maintainer=VALUE
     Maintainer - the name of the maintainer. Can also be passed as the 
       property MaintainerName=somevalue

     --out, --outdir, --outputdirectory, --output-directory=VALUE
     OutputDirectory - Specifies the directory for the created Chocolatey 
       package file. If not specified, uses the current directory.

     --built-in, --built-in-template, --originaltemplate, --original-template, --use-original-template, --use-built-in-template
     BuiltInTemplate - Use the original built-in template instead of any 
       override.

     --file, --url=VALUE
     Location of binary. In [Chocolatey for Business](https://chocolatey.org/compare), file is used for auto-
       detection (native installer, zip, patch/upgrade file, or remote url to 
       download first) to completely create a package with proper silent 
       arguments! Can be 32-bit or 64-bit architecture.  Available in licensed 
       editions only.
       See https://docs.chocolatey.org/en-us/features/package-builder 

     --file64, --url64=VALUE
     Optional - used when specifying both a 32-bit and a 64-bit file. Can be 
       an installer or a zip, or remote url to download. Available in licensed 
       editions only.

     --keepremote, --keep-remote, --originallocation, --original-location, --useoriginallocation, --use-original-location, --useoriginalfileslocation, --use-original-files-location
     Use Original Files Location - when using file or url, use the original 
       location in packaging. Available in licensed editions only.

     --checksum, --downloadchecksum, --download-checksum=VALUE
     Download Checksum - checksum to verify File/Url with. Defaults to empty. 
       Available in licensed editions only.

     --checksum64, --checksumx64, --downloadchecksumx64, --download-checksum-x64=VALUE
     Download Checksum 64-bit - checksum to verify File64/Url64 with. 
       Defaults to empty. Available in licensed editions only.

     --checksumtype, --checksum-type, --downloadchecksumtype, --download-checksum-type=VALUE
     Download Checksum Type - checksum type for File/Url (and optional 
       separate 64-bit files when specifying both). Used in conjunction with 
       Download Checksum and Download Checksum 64-bit. Available values are 
       'md5', 'sha1', 'sha256' or 'sha512'. Defaults to 'sha256'.  Available in 
       Business editions only.

     --pauseonerror, --pause-on-error
     Pause on Error - Pause when there is an error with creating the package. 
       Available in licensed editions only.

     --buildpackage, --build-package, --build-packages
     Build Package - Attempt to compile the package after creating it. 
       Available in licensed editions only.

     --fromprograms, --from-programs, --fromprogramsandfeatures, --from-programs-and-features
     Generate Packages From Installed Software - Generate packages from the 
       installed software on a system (does not handle dependencies). Available 
       in Business editions only.

     --removearchitecture, --removearchitecturefromname, --remove-architecture, --remove-architecture-from-name
     Remove Architecture From Name - Remove x86, x64, 64-bit, etc from the 
       package id. Default setting is to remove architecture. Available in 
       Business editions only.

     --includearchitecture, --includearchitectureinname, --include-architecture, --include-architecture-in-name
     Include Architecture in Package Name - Leave x86, x64, 64-bit, etc as 
       part of the package id. Default setting is to remove architecture. 
       Available in Business editions only.

Command Reference

:choco-info: NOTE

This documentation has been automatically generated from choco new -h.