Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Silverlight Application Package

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Silverlight Application Package
Description

Silverlight Application Package, or XAP (pronounced 'zap'), is used to install and distribute software packages onto the deprecated Microsoft Windows Phone operating system. It works with versions 7, 8, 8.1, and 10. XAP files are structured ZIP files that contain an assembly manifest file and one or more assemblies (also referred to as dynamic link libraries or DLLs).

Daniel Vaughan writes in his book Windows Phone 8 Unleashed (no URL - physical book only. See citation below): "XAP files allow you to circulate your app to developers that have a developer unlocked device. This is done using the Application Deployment tool that is installed along with the Windows Phone SDK. The tool allows you to navigate to select a XAP file and deploy it to a connected phone device."

This format also had another very different use case: a web browser plug-in similar to Shockwave Flash called Silverlight.

Both Windows Phones and Silverlight are discontinued products. Windows phones were produced from October 21, 2010 to June 2, 2015. Silverlight existed from September 5, 2007 to January 15, 2019. Comments welcome.

In addition to the confusion around the two use cases (phones and Silverlight), the XAP extension is also used for XACT Audio Projects, used with the Microsoft Cross-Platform Audio Creation Tool. This is a different file format also produced by Microsoft and not described at this time. The files are more commonly referred to as "Microsoft XNA Game Studio" as described in an MSDN Network blog post on upgrading XACT projects (link via Internet Archive) and in this StackExchange post, ".Xap file incompatible with XNA Content Pipeline version".

XAP files are structured ZIP files. These files include all DLLs required by the application. DLLs are dynamic link libraries, common Windows applications that contain code and data that can be used by more than one program at the same time. The first DLL is a compiled version of the application and has the same name of the application. Subsequent DLLs are dependencies required by the application. Some experimentation and notes have been documented by former Microsoft employee Chris Pietschmann on his blog.

XAP files also include two application manifest files: AppManifest.xml and WMAppManifest.xml, both of which are located in the Properties directory of the project, as documented in Daniel Vaughan in Windows Phone 8 Unleashed. The AppManifest.xml file defines the assemblies that get deployed in the client application. This file is automatically updated when the application is compiled.

The WMAppManifest.xml is also automatically generated with creating a new Windows Phone application from Visual Studio. The WMAppManifest.xml file defines the application's capabilities.

Vaughan writes: "You define your app's capabilities in its WMAppManifest.xml file. When a new Windows Phone application is created, a subset of the available capabilities is included by default in the manifest file. The Windows Phone operating system grants security permissions to the application according to the capabilities listed in the manifest file. ... When an app is submitted to the Windows Phone Marketplace, the XAP file is decompressed, validated, and repackaged. During this process the security capabilities of the app are discovered and written back to the WMAppManifest.xml file. As a result, if the manifest does not contain capabilities that are used by your app, these capabilities are inserted as part of the submission process."

WMAppManifest.xml may be version-specific. Comments welcome.

Production phase A final-state format used for distribution.
Relationship to other formats
    Subtype of ZIP, ZIP File Format (PKWARE)
    Contains XML, XML (Extensible Markup Language)
    Has extension APPX. Not described separately at this time. See History.

Local use Explanation of format description terms

LC experience or existing holdings None
LC preference The Library of Congress has not yet expressed any format preference for system files. See the Recommended Formats Statement for format preferences forsoftware and gaming distribution packages.

Sustainability factors Explanation of format description terms

Disclosure Poor.
    Documentation No official documentation. Comments welcome.
Adoption

XAP is used to distribute application software on Microsoft Windows Phones.

Silverlight was used by web clients for Amazon (link via Internet Archive) and Netflix video streaming products circa 2010-2013, as well as streaming video for the 2008 Summer Olympics (Beijing) and 2010 Winter Olympics (Vancouver).

    Licensing and patents Rights presumed held by Microsoft. Comments welcome.
Transparency Limited. Depends upon algorithms and tools to read; will require sophistication to build tools.
Self-documentation Self-documented is limited and not documented. Comments welcome.
External dependencies While there are no explicit external dependencies, the packages are intended to run on a Windows Phone 7/8/8.1/10 or Silverlight-compatible operating system and web browser.
Technical protection considerations

XAP files may contain encryption. On August 10th, 2012, XAP files were delivered encrypted (link via Internet Archive) by the Windows Phone Dev Center (previously called the App Hub). All files downloaded after that date will be encrypted, for existing and newly submitted applications. Previously, XAP files were unencrypted by default.

Silverlight files may be restricted by a Windows authentication method, detailed by Microsoft, but this is also not configured by default.


Quality and functionality factors Explanation of format description terms

Aggregate
Compression See ZIP.
Support for Error Dectection See ZIP.
Beyond normal functionality None.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension xap
According to Microsoft.
Internet Media Type application/x-silverlight-app
According to Microsoft.
Magic numbers 504B0304
From TriD via Wikidata.
Pronom PUID See note.  PRONOM has no corresponding entry as of March 2024.
Wikidata Title ID Q4027920
See https://www.wikidata.org/wiki/Q4027920.

Notes Explanation of format description terms

General  
History

XAP was introduced in March 2008 with the introduction of "Silverlight 2". It was described as "a compressed file that uses standard ZIP compression algorithm to minimize client download size."

In Windows Phone 8.1 and later, XAP was replaced by APPX as the file format used to install WinRT apps on the platform. This brought the Windows Phone platform into alignment with other Windows Store apps. Older XAP apps could still be installed to version 8.1 and 10 systems.

Silverlight reached the end of support on October 12, 2021. Microsoft recommends migrating to WinUI 3 with the Windows App SDK for desktop applications and ASP.NET Blazor for web-based applications.


Format specifications Explanation of format description terms


Useful references

URLs

Books, articles, etc.

Last Updated: 04/09/2024