XAP ファイル形式とは?
XAPファイルは、ブラウザプラグインフレームワークであるMicrosoft Silverlight、およびその後のWindows Phone 7/8.0アプリ用のアプリケーションパッケージを格納します。Silverlight自体は2021年10月12日に製品寿命(EOL)を迎えたため、XAPは現在レガシー形式となっています。
Silverlightは、C#やVB.NETなどのマネージド.NET言語(およびIronPythonなどの動的言語)で記述されたコードを実行することができました。このフレームワークは以下の機能も提供していました:
- グラフィックスレンダリングエンジン
- HD H.264ビデオストリーミングサポート(Silverlight 3.0で導入)
- MP3およびWMAオーディオのサポート
- 外部デバイス(マウス、キーボード)のサポート
- DRM機能
Google Chrome、Internet Explorer, Firefox, Safari, SeaMonkeyを含むほとんどのウェブブラウザがSilverlight専用のプラグインを提供していました。現代のChromeやFirefoxブラウザは、Silverlightの正式なサポート終了の数年前にサポートを打ち切っており、Microsoft自体のEdgeブラウザもこれをサポートしたことはありません。
XAPファイルは、Windows Phone 7および8.0用のアプリ配布にも使用されていました。これらは、ZIPアーカイブ内に圧縮されたアプリ本体と、AppManifest.xamlまたはWMAppManifest.xmlドキュメント、および.NETマネージドランタイムで使用されるDLLライブラリを格納しています。XAPは標準的なZIPアーカイブであるため、ファイル名を.zipに変更することで内容を検査できます。Windows Phone 8.1以降はAPPXパッケージ形式に移行しており、XAPファイルは現在のいかなるプラットフォームでも実行できなくなっています。
セキュリティと安全性
リスク: MEDIUMXAPは現代のシステム上では不活性です(実行するランタイムがないため)。主なリスクは、何らかの方法で復活させた場合に未知のレガシーコードを実行することにあります。内部の.dllアセンブリにはあらゆるものが含まれる可能性があるため、信頼できるソースのXAPのみを検査し、ランダムなサイトからのWindows Phoneパッケージのサイドロードには注意してください。検査(zipへのリネーム)は安全ですが、実行にはリスクが伴います。
形式の詳細
概要XAP ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナ形式 | 標準ZIPアーカイブ。オフセット0にマジックバイト PK (50 4B 03 04) |
| 圧縮 | ZIPエントリごとのDEFLATE。外側のZIPアーカイブ自体は追加圧縮されません |
| MIMEタイプ | application/x-silverlight-app |
| Silverlightマニフェスト | アーカイブ内の AppManifest.xaml - Silverlightランタイムのバージョンとマネージドエントリポイントアセンブリを宣言 |
| Windows Phoneマニフェスト | アーカイブ内の WMAppManifest.xml - ターゲットOS (7.x または 8.0)、アプリの機能、アプリのメタデータを宣言 |
| コードアセンブリ | SilverlightまたはWindows PhoneランタイムCLR用にコンパイルされた1つ以上のマネージド.NETアセンブリ (.dllファイル) |
| 整合性 | ZIPエントリごとのCRC-32。Windows Phone Storeパッケージにはカタログデジタル署名も付加されていました |
| エンコーディング | バイナリ(DEFLATE圧縮されたマネージドコードとリソースエントリを含むZIPコンテナ) |
| 一般的なファイルサイズ | アプリのアセット(UI、画像、メディア、コード)により100 KB ~ 100 MB |
| 最大アーカイブエントリ数 | ZIP形式は最大65,535エントリをサポート。ZIP64拡張によりこの制限は解除されます |
| 識別方法 | マジックバイトだけではプレーンなZIPと区別できません。内部に AppManifest.xaml (Silverlight) または WMAppManifest.xml (Windows Phone) が存在することで識別されます |
| プラットフォームサポート | WindowsおよびmacOS上のブラウザでのSilverlight、Windows Phone 7および8.0デバイス。現在のプラットフォームでXAPファイルを実行できるものはありません |
| 後継形式 | Windows Phone 8.1およびユニバーサルWindowsプラットフォーム用のAPPX。後に現代のWindowsアプリ用のMSIX |
| ステータス | 廃止 - Silverlightはサポート終了、Windows Phoneは廃止。現在のブラウザやOSでXAPパッケージを実行することはできません |
| リリース日 | 2007 (Silverlight 1.1/2); used for Windows Phone 7/8 apps (2010-2014) |
| 最新バージョン | Windows Phone 8.0 XAP; Windows Phone 8.1+ moved app packaging toward APPX |
| 仕様書 | www.loc.gov |
XAP の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。XAP ファイルについて最初の質問をしてみましょう。