需要套件身分識別的功能

有些現代 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 或側載到系統上,就非常容易地分發。

更多資訊請參閱 「套件與部署你的應用程式」。