A manifest file in
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
is a file containing
metadata
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata – the descriptive ...
for a group of accompanying files that are part of a set or coherent unit. For example, the files of a computer program may have a manifest describing the name, version number, license and the constituent files of the program.
The term is borrowed from a cargo shipping procedure, where a
ship manifest
A manifest, customs manifest or cargo document is a document listing the cargo, passengers, and crew of a ship, aircraft, or vehicle, for the use of customs and other officials. Where such a list is limited to identifying passengers, it is a pas ...
would list the crew and/or cargo of a vessel.
Package manifest
Linux distribution
A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one ...
s rely heavily on
package management systems for distributing software. In this scheme, a package is an
archive file
In computing, an archive file is a computer file that is composed of one or more files along with metadata. Archive files are used to collect multiple data files together into a single file for easier portability and storage, or simply to compre ...
containing a manifest file. The primary purpose is to enumerate the files which are included in the distribution, either for processing by various packaging tools or for human consumption. Manifests may contain additional information; for example, in
JAR (a package format for delivering software written in
Java programming language), they can specify a version number and an
entry point for execution. The manifest may optionally contain a
cryptographic hash or
checksum of each file. By creating a cryptographic signature for such a manifest file, the entire contents of the distribution package can be validated for authenticity and integrity, as altering any of the files will invalidate the checksums in the manifest file.
Application and assembly manifest
In
Microsoft Windows
Windows is a group of several Proprietary software, proprietary graphical user interface, graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, W ...
, software that relies on Windows Side-by-Side (
WinSxS) needs an application manifest, which is an
XML document that is either embedded in an
executable file or contained in a separate
XML file that accompanies it. It bears name, version, trust information, privileges required for execution and dependencies on other components.
An assembly manifest is very similar to an application manifest but describes the identity of components known as "
assemblies". These assemblies are referred to in the application manifest.
An example of an application manifest is as follows. This application manifest has two core parts: Security and dependency. The security part says that the application requires "asInvoker" security level; that is, it can be operated at whatever security level it is executed. The dependency part says the application needs a component called "Microsoft.VC90.CRT" with version number "9.0.21022.8".
HTML5 cache manifest
A cache manifest in HTML5 is a
plain text file accompanying a
web app that helps it run when there is no network connectivity. The caching mechanism reads this file and ensures that its contents are available locally. An HTML5 cache manifest is served with its content type set to "text/cache-manifest".
Example of a cache manifest:
CACHE MANIFEST
/test.css
/test.js
/test.png
References
{{Reflist
Computer file formats
Filename extensions