forked from ScoopInstaller/Scoop
-
Notifications
You must be signed in to change notification settings - Fork 0
App Manifests
Luke Sampson edited this page Jun 23, 2016
·
15 revisions
An app manifest is a JSON file that describes how to install a program.
{
"version": "1.0",
"url": "https://github.com/lukesampson/cowsay-psh/archive/master.zip",
"extract_dir": "cowsay-psh-master",
"bin": "cowsay.ps1"
}
When this manifest is run with scoop install
it will download the zip file specified by url
, extract the "cowsay-psh-master" directory from the zip file, and then make the cowsay.ps1
script available on your path.
For more examples, see the app manifests in the main Scoop bucket.
-
version
required: The version of the app that this manifest installs. -
url
required: The URL or URLs of files to download. If there's more than one URL, you can use a JSON * array, e.g."url": [ "http://example.org/program.zip", "http://example.org/dependencies.zip" ]
. URLs can be HTTP, HTTPS or FTP. -
architecture
: If the app has 32- and 64-bit versions, architecture can be used to wrap the differences (example]).-
32bit|64bit
: contains architecture-specific instructions (url
,hash
,msi
,pre_install
,post_install
,installer
, andbin
).
-
-
bin
: A string or array of strings of programs (executables or scripts) to make available on the user's path.- you can also create an alias shim which uses a different name to the real executable and (optionally) passes arguments to the executable. Instead of just using a string for the executable, use e.g:
[ "program.exe", "alias", "--arguments" ]
. See busybox for an example.
- you can also create an alias shim which uses a different name to the real executable and (optionally) passes arguments to the executable. Instead of just using a string for the executable, use e.g:
-
shortcuts
: Specifies the shortcut values to made available in a users startmenu. The array specifies an executable/Label pair. See sourcetree for an example. -
depends
: Runtime dependencies for the app. -
env_add_path
: Add this directory to the user's path (or system path if--global
is used). The directory is relative to the install directory, and must be inside the install directory. -
env_set
: Sets one or more environment variables for the user (or system if--global
is used) (example). -
extract_dir
: Ifurl
points to a compressed file (.zip, .7z, .tar, .gz, .lzma are supported), Scoop will extract just the directory specified from it. -
hash
: A string or array of strings with a file hash for each URL inurl
. Hashes are SHA256 by default, but you can use SHA1 or MD5 by prefixing the hash string with 'sha1:' or 'md5:'. -
homepage
: The home page for the program. -
installer
|uninstaller
: Instructions for running a non-MSI installer.-
file
: The installer executable file. For installer, this defaults to the last URL downloaded. Must be specified foruninstaller
. -
args
: An array of arguments to pass to the installer. Optional. -
keep
:"true"
if the installer should be kept after running (for future uninstallation, as an example). If omitted or set to any other value, the installer will be deleted after running. Seevc-redist14
for an example. This option will be ignored when used in anuninstaller
directive.
-
-
pre_install
|post_install
: A string or array of strings of the commands to executed before or after an application is installed. -
license
: The software license for the program. For well-known licenses, this will be a string like "MIT" or "GPL2". For custom licenses, this should be the URL of the license. -
msi
(deprecated): Settings for running an MSI installer
This property is deprecated and support will be removed in a future version of Scoop. The new method is to treat .msi files just like a .zip and extract the files from it without running the full install. You can use the new method simply by not including thismsi
property in your manifest.-
code
required: the product code GUID for the MSI installer -
silent
: should normally betrue
to try to install without popups and UAC prompts
-
-
notes
: A string with a message to be displayed after installing the app. -
checkver
: App maintainers and developers can use the bin/checkver tool to check for updated versions of apps. The optionalcheckver
property in a manifest is a regular expression that can be used to match the current stable version of an app from the app's homepage. For an example, see the go manifest. If the homepage doesn't have a reliable indication of the current version, you can also specify a different URL to check—for an example see the ruby manifest.