共用方式為


從 Visual Studio 附加應用程式

本文說明如何使用Visual Studio 2022 建立應用程式附加就緒套件,並將其發佈至 Azure 虛擬桌面。

什麼是應用程式附加?

MSIX 應用程式附加是將 MSIX 應用程式傳遞至實體和虛擬機的方法。 不過,MSIX 應用程式連結與一般 MSIX 不同,因為它特別針對支持的產品,例如 Azure 虛擬桌面。

為何要附加應用程式?

企業偏好使用應用程式附加:

  1. 更容易進行 Windows 映像管理
  2. 更好的應用程式管理能力,包括較低的維護成本和更好的安全性

串流應用程式的數據會與使用者漫遊。 這可協助他們立即執行應用程式,並隨時隨地繼續其體驗。

本機應用程式連結 可讓您執行 MSIX 應用程式,而不需在裝置上安裝它們。 在 Windows 11 企業版 和 Windows 10 企業版 上完全支援支援 Power Local App Attach 的 API,並內嵌至 OS 以掛接和卸除應用程式。 您也可以使用PowerShell Cmdlet 或腳本將程序自動化。

必要步驟

  • 下載並安裝 Visual Studio 2022
  • 設定 Visual Studio for C#
  • 在 Visual Studio 中設定「Azure 開發」工作負載,如下所示:
    • 開啟 Visual Studio 安裝程式
    • 點選 「 修改]
    • 確定已選取 Azure 開發
    • 按兩下底部的 [ 修改 ] 以起始更新。

Visual Studio 擴充功能

螢幕快照 2023-10-11 180059

  • 確定系統已連線到因特網。

注意

此延伸模組僅與 Visual Studio 2022 相容。

使用延伸模組

在 Visual Studio 2022 中安裝延伸模塊之後,

  1. 以滑鼠右鍵按兩下並選擇 [以系統管理員身分執行],以提升許可權模式啟動Visual Studio。
  2. 使用隨附於 Windows 應用程式 SDK 的空白應用程式、已封裝 (WinUI 3 in Desktop) Visual Studio 專案範本,建立 WinUI 3 C# 或 C++ 傳統型應用程式。

螢幕快照 2023-05-30 165600

注意

目前僅支援 WinUI3 應用程式的 MSIX 映像建立程式。

  1. 在 方案總管 中,以滑鼠右鍵按兩下專案,然後選擇 [套件] 和 [發佈] ->[建立應用程式附加套件]

螢幕快照 2023-05-30 165836

  1. 現在您可以選取 MSIX 套件和 VHDx 檔案的輸出位置,然後選取選擇的平台來設定套件。
  2. 若要將 MSIX 封裝安裝在終端使用者的電腦上,必須由該電腦上受信任的憑證來簽署。 您可以從本機憑證存放區選取憑證、選取憑證檔案,或建立新的憑證。 瞭解如何 在這裡簽署應用程式套件

螢幕快照 2023-10-11 181102

擴充功能的功能

延伸模組可讓開發人員建立應用程式附加就緒套件、在本機測試應用程式附加,或直接從Visual Studio發佈至AVD主機集區。

您應該選擇適當的選項並繼續。

使用者的影像

僅建立磁碟映像

這會建立應用程式的應用程式連結就緒磁碟映像,但不會在任何地方發佈它。 它可以用來手動傳輸或發佈其他地方。 您可以移至指定的輸出資料夾路徑,以存取影像。

本機應用程式附加

這會建立應用程式附加就緒套件,並將其發佈至本機進行測試和疑難解答。

它會節省附加至 AVD 主機以進行測試的工作。 用戶可以安裝應用程式,並在測試後退出磁碟。

Azure (AVD) 應用程式附加

這會建立應用程式附加就緒套件,並將其發佈至您的AVD主機集區。

  1. 若要將應用程式連結套件發佈至 Azure 虛擬桌面,請選取 [Azure] 選項。

注意

此延伸模組只允許發佈至現有的 Azure 資源。

  1. 選取下列值:
  • 用帳戶識別碼 – 選擇要用於部署的 Azure 訂用帳戶。
  • 資源群組 – 使用下拉式列表,選取現有的資源組名。
  • 記憶體帳戶 – 選取具有已部署檔案共享的記憶體帳戶名稱。
  • 檔案共用 – 在將儲存套件的 Azure 虛擬桌面部署中選取檔案共用。
  • 應用程式群組 – 選擇您要發佈應用程式的應用程式群組。
  • 工作區 – 選擇您要指定應用程式群組的工作區名稱。
  • 主機集區 – 選取應用程式群組的主機集區名稱。

螢幕快照 2023-10-11 182632

  1. 按兩下 [發佈] 將套件發佈至上述 Azure 虛擬桌面部署。

常見問題集 (FAQ)

問1:為什麼本機應用程式附加中的暫存失敗,並顯示錯誤?
A1:預備失敗的主要原因是計算機上 MSIX 缺少必要的相依性。 若要解決此問題,請仔細檢查應用程式附加記錄,以提供繼續進行所需特定相依性的詳細資訊。

Q2:Azure 虛擬桌面:應用程式連結驗證成功,但應用程式將不會啟動
A2:這裡的主要問題是 Azure 虛擬機中沒有 MSIX 相依性。 若要解決此問題,請從應用程式連結記錄識別必要的相依性,並確定它們已安裝在指定的 VM 中。

問3:錯誤:檔案 <共用位置>找不到虛擬磁碟?
A3:當檔案共用與所有 VM 中斷連線時,通常會發生此錯誤。 若要修正此問題,請登入已配置的 VM,並確定相關的檔案共用已連線到 VM。 之後,您應該能夠成功掛接和卸除 VHDx 檔案。

問 4:我已透過多個帳戶登入 Visual Studio,應該為 AVD 應用程式鏈接挑選哪一個帳戶?
A4:針對 AVD 應用程式附加,請確定只有 AVD 系統管理員使用者已登入 Visual Studio。 啟動擴充功能功能表之前,請先移除任何其他帳戶。 此外,如果認證已過期,請重新登入Visual Studio。

問 5:延伸模組是否修改我的解決方案?
A5:是,延伸模組會在解決方案的根層級建立AppAttachPackages資料夾和 appattach.config 檔案。 AppAttachPackages 資料夾包含 MSIX 和 VHDx 成品,而 appattach.config 檔案則保存應用程式附加程式至關重要的應用程式元數據。 您可以放心地忽略這些專案。

問 6:我可以使用擴充功能將應用程式成品重新發佈至 AVD 嗎?
A6:否,目前不支援此功能。 不過,您可以增加版本並嘗試重新發佈。 請記住,這會導致遠端桌面應用程式中有兩個不同的應用程式。 此外,您可以透過 Azure 入口網站,將上一個版本標示為非使用中的主機集區 -> MSIX 套件一節。

問 7:如何? 卸載本機連結的應用程式嗎?
A7:以滑鼠右鍵按下搜尋列中的應用程式,然後選取 [卸載]。 此外,退出新增至此電腦的新磁碟驅動器。 如需全面移除,請在系統管理模式中啟動PowerShell,然後執行下列命令:

$msixPackageFullName = <msixPackageFullName> 
Remove-AppxPackage $msixPackageFullName -PreserveRoamableApplicationData 

問8:我的程式在執行期間逾時。
A8:在 中 appattach.config,找出 <ProcessTimeOut> 標籤並增加逾時值。 默認值為 600 秒(10 分鐘),您可以根據您的需求加以調整。

另請參閱