Windows 8.1 的 WinRT Stroe App 與傳統的桌面程式,有著明顯不同的特性,其實,對於程式開發者而言,採用 WinRT Store 架構來開發的App,真的比起傳統的桌面App方便了許多,因為:它是全螢幕的、擁有良好的App運作流程、不會破壞到作業系統與影響其安全運作、可以觸控操作、流暢的表現和互動式的動畫。
單純開發Windows 8.1 Store App,也許不會太困難,因為,只要您具有 C# / VB / JavaScript / C++,立馬就可以馬上來開發,甚至開發出不錯的App;可是,大部分開發出來的App,都會提交到 Windows Store 市集做認證,一旦通過審核,就會在市集的App上,看到您開發出來的App,而使用者就可以透過市集App,下載並且安裝您開發出來的App到他們的電腦上。
可是,當您想要開發 Windows 8.1 Store App,並且想要將這個App (例如 line-of-business LOB 類型)讓企業內部的電腦使用,不過,您不想要透過微軟官方的市集來讓使用者從市集App找到專屬於您企業的App,甚至從市集下載您專屬App到企業員工的電腦上,這可就傷腦精了;因為,到現在為止,微軟並沒有針對 Windows 8.1 平台,推出各企業專屬的市集App,也就是說,想要把您開發出來,並且專屬於自己企業的Windows Store App到企業內部員工的電腦上,就不是這麼簡單的過程,這需要花點時間來處理。
想要佈署Windows 8.1 Store App到使用者的電腦上,而不透過微軟官方的公開市集系統,您可以採用的是 [側載] Sideloading 技術 (側載的應用程式不需要發行到 Windows 市集,也不需要使用已註冊的 Windows 市集開發人員帳戶就能開發。),讓您可以輕鬆地做到這樣的需求。
側載是個方法,可以讓您安裝 Windows Store App到電腦上,但是不透過市集App,這樣,就有幾個問題要考量:
- 開發出您企業專屬的 Windows Store App
- 如何將App的程式,自動佈署到使用者的電腦上
- 如何將這些App程式,安裝到使用者電腦上
- 如何進行新版本的App升級
開發出您企業專屬的 Windows Store App
這個部分與您開發可以上傳到微軟市集上的App的技術一樣,差別在於,您的App不需要透過微軟官方的測試與審核,因此,您需要自己透過內建工具來做App相容性的測試,與自己確保App的執行品質與效能。
不過,若是要將 LOB 類型的App透過側載的方式安裝到企業內部電腦上,您所開發的App,需要安裝與設定您企業內部發出的憑證,這個明證並不一定要在信任的憑證授權單位的跟目錄上,只要讓企業內部使用者的電腦可以信任該憑證即可。如果憑證來自於其中一個已經信任的授權單位,您就不需要在目標電腦上部署和管理額外的憑證。
另外要注意的是,若您開發的Windows 8.1 Store App有使用了 Windows 推播通知服務 (WNS) 等功能,則您需要使用 Windows 市集的儀表板,來為該應用程式保留名稱,並且要將您這個應用程式與市集上所指派的發行者名稱產生關聯,而且也要受到您電腦的信任。
如何將App的程式,自動佈署到使用者的電腦上
這裡有著許多來自於微軟的技術、甚至於還有很多第三方的產品可以選擇;微軟這裡也提供了一些需要付費或者免費的解決方案:Windows PowerShell, Microsoft Deployment Toolkit (MDT), System Center Configuration Manager, Windows Intune,至於這些功能是如何、甚至於如何運作,這需要請您們管理 AD Domain 的 IT 技術人員協助您來處理這些需求,畢竟這些範疇不是會寫程式的人,就會處理的。
如何將這些App程式,安裝到使用者電腦上
您企業內部的使用想要享受到側載的功能,必須是 Windows 8.1 Enterprise 企業版 或者是 Professional 專業版,並且要能夠加入網域;這樣您就可以透過群組原則 Group Policy 來設定這些電腦 網域群組原則物件 (GPO),可以接受並安裝,不是來自於市集的 Windows 8.1 Store App (允許安裝信任的應用程式)。
不過,若想要讓其他類型的Windows 8.1作業系統,例如 Windows RT 版本、Professional 專業版,您需要額外購買啟用可以側載的產品金鑰,以便進行企業側載。
要啟用側載產品金鑰,請以系統管理員權限,開啟命令提示字元,然後輸入下列命令來新增側載產品金鑰。
Slmgr /ipk <側載產品金鑰>
輸入下列命令來啟用側載金鑰:
slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
另外,我們還需要做到設定有開發人員授權的企業電腦
在電腦中,針對要套用群組原則設定的網域群組原則物件 (GPO) 開啟群組原則管理編輯器,如下方所指定。
- 按一下以展開 [電腦設定]、[系統管理範本]、[Windows 元件] 及 [應用程式套件部署]。
- 按兩下 [允許在沒有安裝開發人員授權情況下開發 Windows 市集應用程式] 設定。
- 在 [允許在沒有安裝開發人員授權情況下開發 Windows 市集應用程式] 視窗中,按一下 [啟用],然後按一下 [確定]。
- 按兩下 [允許安裝所有信任的應用程式] 設定。
- 在 [允許安裝所有信任的應用程式] 視窗中,按一下 [啟用],然後按一下 [確定]。
將群組原則設定為允許在沒有安裝開發人員授權情況下開發 Windows 市集應用程式,下列登錄設定會更新為:HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowDevelopmentWithoutDevLicense = 1
將群組原則設定成允許信任的應用程式後,會更新下列登錄設定:HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1
最後,可以使用 Windows PowerShell 或者任何支援執行 PowerShell指令碼或者Cmdlet的管理工具,在 PowerShell 命令提示字元中輸入底下文字,就可以進行您開發的App,並且側載到使用者電腦上了
add-appxpackage C:\YourEnterprise\YourStoreApp.appx
如何進行新版本的App升級
對於這個問題,是比較棘手的,若您的App是透過市集安裝的,使用者可以透過市集App來了解到他們已經從市集下載、安裝的App,有哪些App已經推出了新版本;使用者只需要透過市集App就可以直接升級這個App到最新版本。若是採用側載方式,則還是需要使用上述的方式來進行,並且我們可能也需要在App中,實作是否有新的版本推出機制。