Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
![]() |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
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. |
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. |
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. |
Aggregate | |
---|---|
Compression | See ZIP. |
Support for Error Dectection | See ZIP. |
Beyond normal functionality | None. |
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. |
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. |
|