The application package is what the Silverlight plug-in downloads to start an Silverlight application. The application package is a ZIP file archive with the .xap file name extension.
The application package must be as small as possible to provide the fastest possible download. Consequently, the only files that should be included in the application are those that contain the UI and functionality that an application cannot run without. Files that are included in the application package, such as the application assembly, library assemblies, and resource files, are referred to as in-package files. The files that contain the optional UI and functionality of an application and can be downloaded as needed are known on-demand files.
The right balance of in-package and on-demand files enables users to have the smallest possible initial download for the necessary application UI and functionality, while still enabling additional features to be downloaded.
For more information about how to deploy library assemblies either in-package or on-demand, see Developing a Silverlight Library Assembly. For more information about how to download resource files, see Resource Files.