UWP - Quickly deploy UWP apps

過去開發 universal app 的時候,要部署開發好的 App 給不同的開發人員,可以使用在 WP8.1 的工具,在 WinRT 8.1 需要用 powershell

到了 UWP 的時代還需要這樣處理嗎?該篇文章將介紹幾個方便的使用方式。

該篇介紹三種 UWP 開發好的安裝方式,分別試用于安裝在 Desktop/Tablet 或是 Mobile。

事前準備

利用開發好的 App 專案,透過 Visual Studio 輸出一個 bundle 的安裝包,當然也可以輸出爲 *.appx。

 

方法一:使用 *.bat 檔,搭配 Powersehll 將 App 安裝到 Desktop/Tablet

如果 App 是要安裝在 PC 或是 Tablet 上面的話,您可以使用 Powershell 内建的功能:

  • 在 *.ps1 按下滑鼠右鍵選擇 run with Powershell:
  • 或是使用下面的 *.bat 指令,跟 *.ps1 放在同一個目錄下:
  • Powershell.exe -executionpolicy remotesigned -File Add-AppDevPackage.ps1
    pause
    
    既然有了安裝指令一定要有解除安裝的指令(需要先用 get-appxpackage -name 并指定 App Name 來抓到 package name):
    :: 
    :: get-appxpackage -name *appname* 
    ::
    Powershell.exe remove-appxpackage {app package name}_{version code}_arm__wttxem0f9q9s0
    Powershell.exe remove-appxpackage {app package name}__{version code}__wttxem0f9q9s0
    Powershell.exe remove-appxpackage {app package name}__{version code}__wttxem0f9q9s0
    pause
    這樣的方式方便于提供其他開發或是測試人員進行 App 安裝。但是每次不同的版本就需要調整對應的指令檔。

 

方法二:使用 "WinAppDeployCmd.exe" 工具安裝 App 到 Mobile

在根據<Just released: Windows 10 Application Deployment tool>的報導得知 Win10 SDK 提供了一個新的 deploy 工具:

它不再需要用戶安裝完整的開發環境才能做 App 的安裝,衹需要安裝部分的 Win10 SDK 就可以使用。

在使用前,請先參考相關的指令<Install Universal Windows Apps with the WinAppDeployCmd tool>,

裏面可以知道怎麽列出目前可被訪問的所有設備,或是安裝/更新/刪除 Apps。如下:

WinAppDeployCmd command -option <argument> ...
WinAppDeployCmd devices
WinAppDeployCmd devices <x>
WinAppDeployCmd install -file <path> -ip <address>
WinAppDeployCmd install -file <path> -guid <address> -pin <p>
WinAppDeployCmd install -file <path> -ip <address> -dependency <a> <b> ...
WinAppDeployCmd install -file <path> -guid <address> -dependency <a> <b> ...
WinAppDeployCmd uninstall -file <path>
WinAppDeployCmd uninstall -package <name>
WinAppDeployCmd update -file <path>
WinAppDeployCmd list -ip <address>
WinAppDeployCmd list -guid <address>

要讓 Win10 Mobile 可以安裝測試 Appx,步驟有:

1. 先開啓 Mobile 的 Developer mode,并且開啓配對取得 pin 碼。

2. 開發電腦與手機利用 USB 或是在相同的網路下,下指令取得設備的識別值。

3. 選擇要安裝的設備,輸入 pin 碼進行安裝。

 

上述是開發人員需要學會的方式,那如果是提供給一般的測試人員或是測試單位,可以加以將上述的指令加以包裝:

  • 加入可以讓用戶直接填寫設備 IP Address 跟 Pin 碼的指令:
set /p pinCode=input device pair pin:%=%
set /p ipAddress=input device ip address:%=%
"C:\Program Files (x86)\Windows Kits\10\bin\x86\WinAppDeployCmd.exe" install -file "{package app file name}.appxbundle" -ip %ipAddress% -pin %pinCode%
pause

獨立兩個參數:pinCode 與 ipAddress,作用于最後 WinAppDeployCmd.exe 安裝指令的參數(package app file name 依照您開發 App 的 package name 所建立的檔案名稱)。

建議您多寫一個 update 的指令檔,方便測試人員可以直接更新 App 不用重新安裝。更多的介紹影片可以參考<教學影片>。

 

方法三:使用 Win10Mobile 内建的監測網站管理 App 的安裝與相關設定

根據 Win10Mobile 在開發者模式下有提供一個選項,如下圖:

提供讓用戶可以直接藉由圖中的 ip address 登入該設備的相關設定,如下圖:

在 Performance/Process 可以看到目前設備運作的狀態,CPU/Memory 使用率,App 那些被安裝或是要安裝/移除。

但是可以看到要安裝目前衹能給 *.appx 如果您包裝的是 *.appbundle 記得要改直接產出 ARM 的版本。

藉由網頁的方式還可以得到很多相關設備的資訊,相較于用指令的方便很多。

======

以上是分享如何快速讓其他人員測試自己開發 App ,希望對大家有幫助,如果有其他更好的辦法也歡迎提供給我知道,謝謝。

 

Referece: