從 Visual Studio 附加應用程式
本文說明如何使用Visual Studio 2022 建立應用程式附加就緒套件,並將其發佈至 Azure 虛擬桌面。
什麼是應用程式附加?
MSIX 應用程式附加是將 MSIX 應用程式傳遞至實體和虛擬機的方法。 不過,MSIX 應用程式連結與一般 MSIX 不同,因為它特別針對支持的產品,例如 Azure 虛擬桌面。
為何要附加應用程式?
企業偏好使用應用程式附加:
- 更容易進行 Windows 映像管理
- 更好的應用程式管理能力,包括較低的維護成本和更好的安全性
串流應用程式的數據會與使用者漫遊。 這可協助他們立即執行應用程式,並隨時隨地繼續其體驗。
本機應用程式連結 可讓您執行 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 開發
- 按兩下底部的 [ 修改 ] 以起始更新。
正常運作的 Windows 虛擬桌面部署。 若要了解如何部署 Azure 虛擬桌面 (傳統),請參閱在 Azure 虛擬桌面中建立租用戶。 若要了解如何使用 Azure Resource Manager 整合來部署 Azure 虛擬桌面,請參閱使用 Azure 入口網站建立主機集區。
請前往這裡或搜尋「應用程式附加工具組」,以從Visual Studio Marketplace取得延伸模組。
按兩下下載的檔案,將延伸模組安裝至Visual Studio。
- 確定系統已連線到因特網。
注意
此延伸模組僅與 Visual Studio 2022 相容。
使用延伸模組
在 Visual Studio 2022 中安裝延伸模塊之後,
- 以滑鼠右鍵按兩下並選擇 [以系統管理員身分執行],以提升許可權模式啟動Visual Studio。
- 使用隨附於 Windows 應用程式 SDK 的空白應用程式、封裝 (WinUI 3 in Desktop) Visual Studio 專案範本,建立 WinUI 3 C# 或 C++ Desktop 應用程式。
注意
目前僅支援 WinUI3 應用程式的 MSIX 映像建立程式。
- 在 方案總管 中,以滑鼠右鍵按兩下專案,然後選擇 [套件] 和 [發佈] ->[建立應用程式附加套件]
- 現在您可以選取 MSIX 套件和 VHDx 檔案的輸出位置,然後選取選擇的平台來設定套件。
- 若要將 MSIX 封裝安裝在終端使用者的電腦上,必須由該電腦上受信任的憑證來簽署。 您可以從本機憑證存放區選取憑證、選取憑證檔案,或建立新的憑證。 瞭解如何 在這裡簽署應用程式套件 。
擴充功能的功能
延伸模組可讓開發人員建立應用程式附加就緒套件、在本機測試應用程式附加,或直接從Visual Studio發佈至AVD主機集區。
您應該選擇適當的選項並繼續。
僅建立磁碟映像
這會建立應用程式的應用程式連結就緒磁碟映像,但不會在任何地方發佈它。 它可以用來手動傳輸或發佈其他地方。 您可以移至指定的輸出資料夾路徑,以存取影像。
本機應用程式附加
這會建立應用程式附加就緒套件,並將其發佈至本機進行測試和疑難解答。
它會節省附加至 AVD 主機以進行測試的工作。 用戶可以安裝應用程式,並在測試後退出磁碟。
Azure (AVD) 應用程式附加
這會建立應用程式附加就緒套件,並將其發佈至您的AVD主機集區。
- 若要將應用程式連結套件發佈至 Azure 虛擬桌面,請選取 [Azure] 選項。
注意
此延伸模組只允許發佈至現有的 Azure 資源。
- 選取下列值:
- 訂用帳戶識別碼 – 選擇要用於部署的 Azure 訂用帳戶。
- 資源群組 – 使用下拉式列表,選取現有的資源組名。
- 記憶體帳戶 – 選取具有已部署檔案共享的記憶體帳戶名稱。
- 檔案共用 – 在將儲存套件的 Azure 虛擬桌面部署中選取檔案共用。
- 應用程式群組 – 選擇您要發佈應用程式的應用程式群組。
- 工作區 – 選擇您要指定應用程式群組的工作區名稱。
- 主機集區 – 選取應用程式群組的主機集區名稱。
- 按兩下 [發佈] 將套件發佈至上述 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 分鐘),您可以根據您的需求加以調整。