Types are used to indicate how, where and when a package is installed. This can vary depending on whether the package contains an application, an extension or “plugin” that improves the functionality of an application, or “content” that is intended to be used within an application. How and where a package should be installed can also vary depending on how an application defines “content” - whether it is treated as assets that can exist anywhere on disk, or whether it must be installed to a specific location in order for the application to recognize it, like a plugin. Types are defined in resources like a Package Supplement File and a Install Manifest.
The types that are assigned to a package can be dynamic, though it is rare. As products are updated over time (i.e. a new version specific package becomes available and supersedes an older version, or a package is split into multiple parts), the types that are assigned to them can sometimes change to reflect their contents.
The list below shows the predefined types that are currently supported by Install Manager. These types are displayed in the User Interface (UI), as checkmarks in a column for each package individually, within the Ready to Download Page and Ready to Install Page, while the show_details_option is active.