MSIX 是微軟「新的」Windows 應用程式打包格式(其實已經出了一段時間了),WinForms, WPF, WinUI3 都支援,但是必須要在 Windows 10 version 1709 以上或是 Windows Server 2019 以上才支援,Windows 7 之類的就別想了,所以以 WinForms 或 UWP 這種可以在 Windows 7 上執行的應用程式來說,並不會首選使用 MSIX 打包。但是 MSIX 的優點就是安裝和移除都很簡單,不需要一直下一步,並且也支援自動更新,一定是未來的主流(除非微軟又推出新的格式...)。
本篇就來示範使用 MSIX 打包 WinForms 應用程式
在 WinForm 專案中在「方案總管」使用滑鼠右鍵點擊「解決方案」,選擇「加入」>「新增專案」:
找到這個 Icon 是一片吐司的「Windows 應用程式封裝專案」,就算上面的標籤是 UWP 而我們是 WinForms 也不要怕,直接點選「下一步」
這裡專案名稱很偷懶的直接命名為「Msix」,點選建立
在選擇目標和最低平台這裡直接確定就好,後面可以很方便的修改
在「方案總管」中,使用滑鼠右鍵點擊剛剛建立好的專案的「相依性」>「新增專案參考」
勾選 WinForms 專案,點選確定
在 MSIX 的應用程式封裝專案 > 相依性 > 應用程式 ,使用滑鼠右鍵點擊 WinForms 專案,點選「設為進入點」
使用滑鼠左鍵點兩下 Package.appxmanifest 檔案,在這個檔案中可以編輯安裝檔要顯示的資訊:
點選工具列的 Debug ,點選「組態管理員」
方案組態選擇 Release。假設我們要發佈 x64 的專案,在左側方案平台選擇 x64,點選下方 WinForms 專案的「平台」的下拉式選單,點選「新增」
新平台選擇「x64」,注意這裡「建立新方案平台」不要勾選,點選確定
這樣全部就都會是 x64 了。筆者在這裡嘗試很多次,如果兩個的「平台」不同,就算是「Any CPU」都會發佈失敗。
在發布前要點選工具列的「建置」> 重建方案:
使用滑鼠右鍵點擊 MSIX 專案 > 發佈 > 建立應用程式套件
這裡我們並沒有要上架 Microsoft Store ,我們只是要產生安裝檔,點選「側載」
為了讓其他電腦方便安裝,這裡要建立一個憑證,點選「建立」
因為是開發用的測試憑證,這裡只要填入發行者名稱和密碼就好
出現剛剛建立的憑證後點選下一步
剛剛建立的是 x64 ,這裡就要改為選擇 x64 ,點選建立
發佈完成後就可以點選「輸出位置」查看檔案:
檔案內容物如下:
安裝檔的副檔名是 .msixbundle,但是直接點選會無法安裝:
需要先安裝憑證 .cer
在筆者的測試中直接匯入憑證很常看起來會入成功,但是沒有成功,筆者覺得最好的方式是搜尋「管理電腦憑證(certificate)」
在「受信任的根憑證授權單位」點選滑鼠右鍵 > 所有工作 > 匯入:
找到剛剛的憑證檔案:
匯入完成後就可以安裝了:
要解除安裝也只要在開始選單中點選「解除安裝」即可:
參考資料:
Microsoft.Learn - What is MSIX?
Microsoft.Learn - Package a desktop or UWP app in Visual Studio
Microsoft.Learn - Set up your desktop application for MSIX packaging in Visual Studio
本篇就來示範使用 MSIX 打包 WinForms 應用程式
在 WinForm 專案中在「方案總管」使用滑鼠右鍵點擊「解決方案」,選擇「加入」>「新增專案」:
找到這個 Icon 是一片吐司的「Windows 應用程式封裝專案」,就算上面的標籤是 UWP 而我們是 WinForms 也不要怕,直接點選「下一步」
這裡專案名稱很偷懶的直接命名為「Msix」,點選建立
在選擇目標和最低平台這裡直接確定就好,後面可以很方便的修改
在「方案總管」中,使用滑鼠右鍵點擊剛剛建立好的專案的「相依性」>「新增專案參考」
勾選 WinForms 專案,點選確定
在 MSIX 的應用程式封裝專案 > 相依性 > 應用程式 ,使用滑鼠右鍵點擊 WinForms 專案,點選「設為進入點」
使用滑鼠左鍵點兩下 Package.appxmanifest 檔案,在這個檔案中可以編輯安裝檔要顯示的資訊:
點選工具列的 Debug ,點選「組態管理員」
方案組態選擇 Release。假設我們要發佈 x64 的專案,在左側方案平台選擇 x64,點選下方 WinForms 專案的「平台」的下拉式選單,點選「新增」
新平台選擇「x64」,注意這裡「建立新方案平台」不要勾選,點選確定
這樣全部就都會是 x64 了。筆者在這裡嘗試很多次,如果兩個的「平台」不同,就算是「Any CPU」都會發佈失敗。
在發布前要點選工具列的「建置」> 重建方案:
使用滑鼠右鍵點擊 MSIX 專案 > 發佈 > 建立應用程式套件
這裡我們並沒有要上架 Microsoft Store ,我們只是要產生安裝檔,點選「側載」
為了讓其他電腦方便安裝,這裡要建立一個憑證,點選「建立」
因為是開發用的測試憑證,這裡只要填入發行者名稱和密碼就好
出現剛剛建立的憑證後點選下一步
剛剛建立的是 x64 ,這裡就要改為選擇 x64 ,點選建立
發佈完成後就可以點選「輸出位置」查看檔案:
檔案內容物如下:
安裝檔的副檔名是 .msixbundle,但是直接點選會無法安裝:
需要先安裝憑證 .cer
在筆者的測試中直接匯入憑證很常看起來會入成功,但是沒有成功,筆者覺得最好的方式是搜尋「管理電腦憑證(certificate)」
在「受信任的根憑證授權單位」點選滑鼠右鍵 > 所有工作 > 匯入:
找到剛剛的憑證檔案:
匯入完成後就可以安裝了:
要解除安裝也只要在開始選單中點選「解除安裝」即可:
參考資料:
Microsoft.Learn - What is MSIX?
Microsoft.Learn - Package a desktop or UWP app in Visual Studio
Microsoft.Learn - Set up your desktop application for MSIX packaging in Visual Studio
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com