使用 MSIX 封裝隔離的 Win32 應用程式
將現有的 MSIX 或 Win32 應用程式封裝成 Win32 應用程式隔離應用程式,將會透過 MSIX 封裝工具 (MPT) 來完成。 請注意,支援 Win32 應用程式隔離的 MPT 版本是 v1.2023.517.0,可在此專案的發行資產中使用。 MPT 的市集版本已過期,以用於 Win32 應用程式隔離功能。 您可以在這裡找到 MPT 的其他檔。
您可以在 Win32 應用程式隔離 GitHub 存放庫的版本區段中,找到 MPT 和分析工具的下載。
重要
這項功能處於預覽狀態: 某些資訊與發行前版本產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將現有的 Win32 安裝程式轉換成 MSIX 應用程式
選取最左邊的 [應用程式套件],然後選擇將建立封裝的位置。 此流程會遵循 [在此計算機上建立套件] 選項。
注意
完成步驟 5 之後,這會導致應用程式安裝為一般 Win32 應用程式。
等候 [MSIX 封裝工具驅動程式] 字段完成檢查。
使用瀏覽按鈕瀏覽至 並選取 Win32 安裝程式。 將簽署喜好設定保留空白,因為我們需要編輯指令清單,然後再簽署一次。
輸入套件資訊。
如往常一樣流覽 Win32 安裝程式
如果除了主要進入點之外還有其他進入點,請啟動或流覽至它們。 如果應用程式在 [設定/設定/喜好設定] 中具有檔類型關聯的選項,請在此步驟中切換它們,以便 MSIX 會挑選它們。
如果封裝中有服務,請重複相同的程式。
按兩下 [建立] 會將套件儲存為完全信任套件。 點擊 [套件編輯器] 按鈕,從主功能表移至 [套件編輯器] 流程。 視套件大小而定,這最多可能需要幾分鐘的時間。
轉換現有的 MSIX 應用程式以執行隔離
選取最右邊的選項 [套件編輯器],並流覽至 .msix 檔案,然後按兩下 [開啟套件] 按鈕。
向下卷動至 [指令清單檔案] 區段,然後按兩下 [開啟檔案]。
在指令清單中,必須進行下列變更。
注意
隔離的 Win32 應用程式與相同套件內的其他應用程式類型不相容。
- 如果元素尚未存在,請新增
xmlns:previewsecurity2="http://schemas.microsoft.com/appx/manifest/preview/windows10/security/2"
至<Package>
專案。- 將 新增
previewsecurity2
至IgnorableNamespaces
元素的<Package>
結尾。
- 將 新增
- 如果元素尚未存在,請新增
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
至<Package>
專案。- 將 新增
uap10
至IgnorableNamespaces
元素的<Package>
結尾。
- 將 新增
- 變更
<Dependencies>
TargetDeviceFamily
為<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.25357.0" MaxVersionTested="10.0.25357.0" />
。注意
並非所有功能都可以在最低組建中使用,請查看 版本資訊 以取得更詳細的資訊。
- 在 中
<Application>
,將任何現有的 entrypoint/trustlevel/runtimebehavior 取代為uap10:TrustLevel="appContainer" previewsecurity2:RuntimeBehavior="appSilo"
。 - 在延伸模組中
<Application>
,移除繼承自父系的任何EntryPoints=*
或Executable=*
<Application>
- 將 新增
desktop7:Scope="user"
至的windows.protocol
擴充專案。
注意
根據預設,由於應用程式是已封裝的 Win32,MPT 會自動新增
<rescap:Capability name="runFullTrust">
至<Capabilities>
。 除非應用程式有其他可影響使用者全域狀態的指令清單延伸模組,例如comServer
或FirewallRules
,否則應該移除此專案,因為這些延伸模組需要runFullTrust
功能。- 如果元素尚未存在,請新增
應用程式可能需要額外的功能,才能正確運作,因為它已經隔離。 如有需要,請參閱 支援的功能 頁面。
儲存並關閉指令清單視窗。 如果指令清單中有任何錯誤,MPT 將會顯示它們。 選取 [建立/儲存] 以產生 .msix 檔案。 視套件大小而定,這可能需要幾分鐘的時間。
- 如果指令清單發生錯誤,您可以在 下方的 事件檢視器 中找到更可採取動作的錯誤訊息
Application and Services/Microsoft/Windows/AppxPackagingOM/Microsoft-Windows-AppxPackaging/Operational
- 如果指令清單發生錯誤,您可以在 下方的 事件檢視器 中找到更可採取動作的錯誤訊息
如需識別可能需要在應用程式套件指令清單中宣告的功能的相關信息,請參閱 應用程式功能分析工具 。