使用 Visual Studio 封裝 Win32 應用程式隔離應用程式
此頁面將涵蓋封裝應用程式以利用 Win32 應用程式隔離所需的所有專案。
重要
這項功能處於預覽狀態: 某些資訊與發行前版本產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
必要條件
將應用程式封裝到隔離的 Win32 應用程式需要下列必要條件:
- Visual Studio 17.10.2 版或更高版本
步驟 1 - 在 Visual Studio 中安裝必要的工作負載,包括 Windows 11 SDK 10.0.26100.0 (或更新版本)
開啟 Visual Studio 安裝程式並修改現有的安裝。 在 [工作負載] 索引標籤上核取 [Windows 應用程式開發] 方塊(並選擇性地核取 [C++ WinUI 應用程式開發工具] 方塊,以在 C++ 中開發)。 也需要 Windows 11 SDK 10.0.26100.0 (或更新版本)。
步驟 2 - 建立您的應用程式專案
在 Visual Studio 中,使用範本 空白應用程式建立新的 C# 或C++專案,並封裝 Windows 應用程式封裝專案 (WinUI 3 in Desktop) 。 單擊 [ 建立 ],然後選取 [目標平臺版本][10.0.26100.0 ](或更新版本)和 [目標平臺最低版本] (TPMinV)。
步驟 3 - 使用 NuGet 安裝 Microsoft.Windows.SDK.BuildTools 10.0.26100.1742 版或更新版本
移至 [專案 -> 管理 NuGet 套件 ] 以安裝 Microsoft.Windows.SDK.BuildTools 10.0.26100.1 版(或更新版本)。
步驟 4 - 編輯 Packaging.appxmanifest 和項目檔
在指令清單檔中,必須進行下列變更:
注意:隔離的 win32 應用程式與相同套件內的其他應用程式類型不相容。
如果元素尚未存在,請新增
xmlns:uap18="http://schemas.microsoft.com/appx/manifest/uap/windows10/18"
至<Package>
專案。- 將 新增
uap18
至IgnorableNamespaces
元素的<Package>
結尾。
- 將 新增
變更
<Dependencies>
TargetDeviceFamily
為<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.26100.0" MaxVersionTested="10.0.26226.0" />
。注意
並非所有功能都可以在最低組建中使用,請查看 版本資訊 以取得更詳細的資訊。 此外,下列指令清單變更可讓應用程式成為隔離的應用程式,但它可以在不支援 Win32 應用程式隔離的作業系統中繼續以 Win32 應用程式的形式執行。
在
<Application>
中,將任何現有的 entrypoint/trustlevel/runtimebehavior 替換為EntryPoint="Windows.FullTrustApplication"
uap18:EntryPoint="Isolated.App"
uap18:TrustLevel="appContainer" uap18:RuntimeBehavior="appSilo"
。在延伸模組中
<Application>
,移除繼承自父系的任何EntryPoints=*
或Executable=*
<Application>
將 新增
desktop7:Scope="user"
至的windows.protocol
擴充專案。注意
根據預設,由於應用程式是已封裝的 Win32,Visual Studio 會自動新增
<rescap:Capability name="runFullTrust">
至<Capabilities>
。 除非應用程式有其他可影響使用者全域狀態的指令清單延伸模組,例如comServer
或FirewallRules
,否則應該移除此專案,因為這些延伸模組需要runFullTrust
功能。
- 在 wapproj 檔案中的目標平臺版本行之後新增
<AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion>
。螢幕截圖顯示 Visual Studio 中的專案檔組態 。
步驟 5 - 建置和發佈應用程式套件
建置 Visual Studio 方案。
使用 [建立應用程式套件... ] 精靈發佈應用程式套件。
發佈應用程式套件之後, 顯示的 [輸出位置 ] 會顯示 MSIX 套件依版本發佈的根目錄。 開啟版本資料夾,以尋找 Install.ps1 檔案以安裝應用程式。