--- title: "What is the Universal Package Registry?" order: 4 ---
Universal Feeds and Packages are "lightweight" and have few built-in features in themselves. This design has allowed them to be used for all kinds of packaging problems, such as application delivery, Inedo's product extensions, and even private Bower packages.
When developing a package-based solution, the question often arises, "What packages are installed or used in this particular context?" This is where the Universal Package Registry comes in, a local package registry designed specifically for Universal Packages.
All packages, whether in universal format or not, are essentially zip files containing the contents (i.e., the actual files you want packaged ) and a metadata file describing the contents. Once the contents of a package are unpacked and installed in a directory, there is no easy way to find out what package that content came from, or if it came from a package at all. This is where a local package registry comes into play.
Different package managers use different mechanisms to represent a local registry. Some store the entire package, others store only metadata about the package, and each approach has advantages and disadvantages.
For example:
However, in all cases, the packages registered vs. packages installed are not enforced by the package manager or operating system. You can consolidate the data in the local registry if needed, or delete files that were originally installed by the package manager.
The Universal Package Registry was developed with the realities of other local package registries in mind.
A Universal Package Registry may also include a package cache. There are three common uses cases for this: