Windows 10 UWP 42 of N: MSIX 應用程式封裝工具 Part 1 - 簡單重新打包既有應用程式

這次來介紹一下關於MSIX的打包流程,以及MSIX能夠提供相別於其他Windows App封裝的功能。

今天要來介紹的是MSIX!這個封裝技術最主要是為了讓在Windows 上的不同應用程式封裝技術得以統一使用,為什麼會說是統一使用是因為在 UWP的封裝會產生的是 APPX 的檔案,但是該檔案結構只能使用在 UWP App上。所以為了讓UWP的應用配合Desktop bridge 並且讓微軟自身推出的封裝技術能夠同時支援UWP和Win32而發展出來~在Windows上提供的封裝應用程式技術有 Windows installer ( .msi ), ClickOnce, .exe … 等,而第三方廠商則是有 Advanced installer, Installshield, WiX…等。


開發環境

  • Windows 10 latest
  • MSIX Packaging Tool latest ( From Microsoft Store )

 

MSIX提供以下幾點優勢

  • 能夠上架置 Microsoft Store
  • 能夠封裝UWP以及Win32應用程式在同一安裝檔中
  • 乾淨的解除安裝,不會有 Registry或是其他在 Program files 資料夾內的暫存
  • 磁碟最佳化,能夠自動判斷安裝時必要檔案安裝,不需要全部移除或是覆蓋
  • 能夠直接部屬在網頁上並類似ClickOnce的體驗。
  • 網路最佳化,可以支援 Streaming install。

今天介紹的是 MSIX Packaging tool 這個工具可以在 Microsoft Store 上找到

安裝好後啟動App會需要使用Admin的權限喔!

幾本上提供了建立、修改功能,左邊的選項是從頭到整個封裝完成都自己處理,中間選項則是可以從既有的安裝流程進行封裝最後就是編輯既有的封裝檔( MSIX, APPX )

這邊我使用CPU-Z來進行MSIX的封裝(沒有業配的意思啦!)本身CPU-Z就已經有既有的安裝檔以及免安裝版本~但是這邊只是做為DEMO而已~接著選擇左邊的建立應用程式

這邊可以選擇是要本機建立或是遠端連線到其他電腦或是本機端虛擬機器。 
建立的時候需要有MSIX Packaging Tool Driver這個會跟這個工具依同安裝好,基本上會建議再做打包的時候要關閉哪些服務在下方。
建立安裝檔的時候可以提供給MSIX Packaging Tool 安裝檔或是安裝檔的參數,以我們的情境不需要用到這部分。最下方會有個數位簽章的選項讓打包好的MSIX進行簽屬。
這頁面需要提供相關的資訊,安裝檔名稱、安裝檔顯示名稱、發行者名稱、發行者顯示名稱、版本、安裝檔簡介….等,下方有個MSIX Core的選項是可以支援更舊的Windows
這邊要注意的一點是,安裝路徑要先是空白的資料夾!這點很重要

上圖中的 Installation location 要注意是要空白的資料夾,空白的資料夾,空白的資料夾。很重要的步驟喔!然後按下下一步

到這個畫面的時候不要急著按下下一步

到這個畫面的時候不要急者按下一步!先把安裝檔案放到剛剛上一步的 Installation location 內喔!

這邊我放的是x64的 CPU-Z 執行檔。

這邊就可以按下下一步了~

這邊記得按一下 Browse 來看看有沒有讓 MSIX Packaging Tool認到我們放入的檔案
這邊如果有出現可以設定為進入點的就是代表成功認到放入的執行檔!
這樣就是設定好進入點!可以按下下一步
基本上設定好進入點就可以進到下一步拉~
這個選項先不用管,因為會跟封裝所支援的最低版本有關
到這畫面就是最後一步拉~當然按下 Package editor就相較於主畫面的最右方的部分!這邊按下 Create就可以建立在儲存的路徑了

這邊就可以看到把 x64, x86重新封裝成 MSIX的檔案

打開後會看到這樣的介面 

MSIX 打開執行後介面

這邊會顯示 Untrusted App這是因為我們沒有提供安全的數位簽章!而這邊也會顯示這個App會需要用那些權限!


本篇總結

MSIX 帶來更多特性,這些特性可以讓傳統 Win32的很多被人詬病的部分得到更好的解法,比如像是註冊表和Program Files內有殘留已經解除安裝的應用程式相關資料使用MSIX就不會有這樣的問題。下篇關於 MSIX 的文章將會介紹更加細項的部分!

MSIX 官方連結=>( What is MSIX? - MSIX | Microsoft Docs )

***以上Code以及說明都有可能隨著Windows 10 的版本以及Visual Studio 版本有所調整!***

參考資料 Microsoft Docs,Windows Blogs for developer

下次再分享Windows 10 的新技術拉~