有些現代 Windows 體驗要求你的應用程式在執行時必須具有套件識別(換句話說,你的應用程式需要是已打包)。 這些體驗包括某些 Windows 功能、某些 Windows 執行階段 API、套件擴充功能以及 UWP 元件。
Universal Windows Platform (UWP) 應用程式預設會收到套件識別碼,因為它們是以 Windows 應用程式套件(.msix或舊有.appx套件)形式發佈的。 其他類型的 Windows 應用程式,包括 WPF 應用程式,也可透過 MSIX 套件部署以取得套件身份。 在 Windows 10、2004 版本(build 19041)或更新版本中,帶有外部位置的應用程式也有套件身份。 欲了解更多相關條款,請參閱 包裝概述。
只有封裝的應用程式(包括帶有外部位置的應用程式)在執行時才有套件身份。 如果你的應用程式有套件身份,那麼你可以在應用程式中使用以下功能。
| Feature | Description |
|---|---|
| 背景工作 | 在應用程式不在前景時執行程式碼,例如同步資料、處理下載或回應系統事件。 |
| Windows AI API(Phi Silica、OCR 等) | 可使用裝置上的 AI 功能,如本地語言模型、文字辨識及影像分析。 封裝身份只是其中一個要求;硬體、Windows 版本、Windows 應用程式 SDK 版本、能力及區域需求依 API 而異。 詳情請參閱 Windows AI API 總覽。 |
| 推播通知 (WNS) | 透過 Windows 推播通知服務,接收來自雲端服務的即時通知。 包裹身份是背景投遞和 COM 啟用的必要條件。 |
| 分享目標 | 讓使用者透過系統的「分享表」直接從其他應用程式分享內容到你的應用程式。 |
| 自訂快速選單擴充功能 | 將應用程式的動作加入檔案總管及其他 shell 界面的右鍵選單。 |
| 以資訊清單為基礎的檔案類型與協定關聯 | 將你的應用程式註冊為特定檔案類型或 URI 協定的處理者(例如, yourapp://)。 |
| 啟動任務 | 使用者登入 Windows 時自動啟動你的應用程式。 |
| 應用程式服務 | 揭露其他應用程式可以呼叫的背景服務,促進應用程式間的溝通。 |
通知
推播通知 需要套件識別,才能進行背景傳遞和 COM 啟用,而這些功能在大多數正式環境中的推播通知案例裡都是必要的。
注意
Windows 應用程式 SDK 應用程式通知 API(本地應用程式通知)可在封裝與非封裝的應用程式中運作,且不需套件身份。 更多資訊請參閱 應用程式通知快速啟動。
整合套件擴充功能
如果你的應用程式需要與系統整合(例如建立防火牆規則),那就在套件清單中描述這些內容,系統會自動處理剩下的部分。 大多數這些任務你根本不需要寫程式碼。 在清單中加入一些 XML,你可以做以下操作:使用者登入時啟動程序,將你的應用程式整合進檔案總管,並將你的應用程式新增為其他應用程式中顯示的列印目標之一。
更多資訊請參閱 「整合你的桌面應用程式與套件擴充功能」。
取得已封裝應用程式的啟用資訊
從 Windows 10 版本 1809 開始,打包的應用程式可以在啟動時取得特定類型的啟用資訊。 例如,你可以透過開啟檔案、點擊互動吐司或使用協定來獲得與應用程式啟用相關的資訊。
更多資訊請參見 「取得打包應用程式的啟用資訊」。
在現有專案中使用 Windows 應用程式 SDK
你可以使用 Windows 應用程式 SDK 在現有的 Win32 或 .NET 桌面應用程式中加入現代 Windows 功能,例如 WinUI 3 控制項、推播通知和應用程式生命週期管理,而無需完全重寫。
欲了解更多資訊,請參閱 將Windows 應用程式 SDK功能加入現有專案。
分發
如果你把應用程式打包在 MSIX 套件裡,那麼發佈到 Microsoft Store 或側載到系統上,就非常容易地分發。
更多資訊請參閱 「套件與部署你的應用程式」。