Windows 應用程式發行功能的現況

本頁記錄了 Windows 應用程式發行功能目前的狀態,這些功能已變更、已知有限制,或行為與文件所示不同。 它會隨著平台演進而持續更新。

上次檢閱時間: 2026 年 8 月


ms-appinstaller URI 協定

狀態:預設停用(自 2023 年 12 月起)

ms-appinstaller:?source= URI 協定處理器允許網頁在使用者不先下載檔案的情況下,一鍵觸發應用程式安裝程式安裝。 此功能在 2023 年 12 月 12 日發布的 App Installer 版本 1.21.3421.0 中預設 被停用 ,以回應 Emotet 惡意軟體攻擊(CVE-2021-43890 漏洞利用模式)的濫用。

背景 狀態
消費性裝置(預設) ❌ 失能
企業裝置(IT 管理) ✅ 可以透過群組原則重新啟用

影響:Microsoft Learn 上的教學頁面中,用於演示的<a href="ms-appinstaller:?source=...">Install</a> 網頁連結對大多數使用者已無效。

因應措施:

  • 直接連結到.appinstaller檔案——使用者下載後雙擊即可。 這方法仍然有效,且是非企業情境的推薦做法。
  • Publish to the Microsoft Store — 提供卓越的一鍵安裝體驗,且無協定依賴。
  • 企業再賦能:透過 EnableMSAppInstallerProtocol 將群組政策設為啟用。 注意:政策值 Disabled 表示「設定未設定」(雙重否定);設為 以 Enabled 重新啟用協定。

參考資料:應用程式安裝程式安全功能


.appinstaller 檔案結構版本

Status:Visual Studio 預設產生過時的架構

XML .appinstaller 檔案支援多個結構版本,每個版本具備不同功能。 Visual Studio預設使用 2017/2 架構產生檔案,該架構不支援多項重要的更新設定屬性。

Attribute 2017/2 年架構 2021年架構
ShowPrompt ❌ 未支援 ✅ 支援
UpdateBlocksActivation ❌ 未支援 ✅ 支援
HoursBetweenUpdateChecks ❌ 未支援 ✅ 支援
關於發射的基本更新 ✅ 支援 ✅ 支援

Impact: 依賴 Visual Studio 產生 .appinstaller 檔案並設定 ShowPrompt 或 UpdateBlocksActivation 的開發者,會在執行時發現這些設定被默默忽略。

修正方法: 手動更新 xmlns 檔案 .appinstaller 中的屬性:

<!-- Change this: -->
<AppInstaller xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2" ...>

<!-- To this: -->
<AppInstaller xmlns="http://schemas.microsoft.com/appx/appinstaller/2021" ...>

參考資料:自動更新與修復應用程式 · WindowsAppSDK 討論 #5125


SmartScreen 聲譽:電動車證書不再提供即時繞過

狀態:2024 年行為改變

在 2024 年之前,擴展驗證(EV)程式碼簽署憑證會立即獲得 SmartScreen 聲譽——新簽署的二進位檔不會顯示下載警告。 Microsoft 於 2024 年更新了受信任根程式(Trusted Root Program)的要求,移除了 EV 專屬的 OID。 SmartScreen 的聲譽現在 是隨時間累積 ,而非憑證類型即時授予。 它是根據兩個訊號建立的:檔案的雜湊值,以及簽署憑證的發佈者聲譽。 一致的簽署身分可讓發行商聲譽延續到各個版本,但任何憑證類型(OV 或 EV)都不會帶來立即的豁免。

影響: 專為繞過新版本 SmartScreen 警告而購買電動車證書的開發者,會發現電動車證書已不再提供此項好處。

目前行為:所有非 Store 或非 Microsoft 簽名的二進位檔,在建立足夠聲譽前,首次下載時都可以顯示 SmartScreen 提示。 聲譽是從檔案雜湊值以及簽署檔案的發佈者憑證中建立的,因此以相同身份簽署的發行版本可以讓憑證聲譽繼續延續。 未簽名檔案必須為每個新增雜湊值重建聲譽。

請參閱 SmartScreen 對 Windows 應用程式開發者的聲譽 以獲得有關預期行為與建議的完整資訊。


Windows 10 上的 MSIX 與 Windows 11 的比較

狀態:多項 MSIX 功能僅支援Windows 11

MSIX 可在 Windows 10 與 Windows 11 上運作,但多項功能——包括共享套件容器、可變套件目錄及 MSIX 持久身份——僅支援 Windows 11,尚未回溯移植。 動態相依性也在 Windows 10 上透過 Windows 應用程式 SDK(Mdd* API/引導程式)獲得支援,而 Windows 11 則額外提供作業系統的原生實作。 此外,Windows 10 主流支援於 2025 年 10 月 14 日結束。

完整比較表、已知未回溯移植的限制及各功能解決方法,請參見 MSIX on Windows 10 和 Windows 11。


MsixPackaging@1 Azure DevOps任務

狀態:使用過時的依賴

Azure DevOps 管線中的 MsixPackaging@1 任務使用 MSBuild 4.8.4161.0(取代 MSBuild 16+),並針對 Node 16(於 2023 年 9 月終止支援)建置。 這可能導致現代管線配置中的建置失敗。

Workaround: 直接在管線中使用 MSBuild,而不是 MsixPackaging@1 任務,或是用 GitHub Actions 搭配 microsoft/setup-msbuild 動作。

參考事項:GitHub Issue #518 · GitHub Issue #679