遷移桌面程序到MS Store(1)——經過Visual Studio建立Packaging工程

        以前跑去作了一年多的iOS開發,被XCode噁心得不行。作人呢,最重要的是開心。因此我就炒了公司魷魚,挪了個窩回頭去作Windows開發了。
        UWP什麼的好久沒有正兒八經寫了,國內的需求很是少。傳統的桌面開發卻是由於人愈來愈少了,需求還在,有少許還不錯的職位。如今在作WPF的項目,公司層面卻是很願意遷移到UWP,可是遷移起來會有不少的困難和限制。同時有這方面熱情,且知道怎麼去作的人就更少了。
        接下來會經過幾個短篇來介紹如何經過Desktop Bridge來遷移桌面程序到MS Store,這塊的學習我尚未深刻,祈禱一下不會很快就太監了……

        其實若是僅僅是要求把exe打包成appx的話,權限方面並無什麼特殊的要求。可是默認狀況下,若是須要提交商店並經過審覈的話,應用程序須要可以運行在Windows 10 S模式下。MSDN的原話是
All apps submitted to the Microsoft Store must be compatible with Windows 10 S. Apps that aren't compatible won't be accepted in the store.
        這個就比較嚴格了,簡單舉例以下:git

  •     APP不能要求admin權限
  •     APP不能包含Windows Service
  •     APP不能像exe程序那樣直接在運行目錄寫文件
  •     APP不能直接運行另外一個exe程序

        以上這些在傳統桌面程序中算是常見了,因此只要稍微複雜一點的exe程序,在遷移的時候就會遇到各類各樣的問題。
        今天的第一篇咱們首先來處理一下最簡單的狀況,即移植一個標準的,同時符合商店權限要求的WPF程序。
        第一步咱們先建立一個空的WPF工程。運行起來是一個空白的窗體。工程文件結構也很簡單,見Solution Explorer。github

        接下來咱們要建立一個Packaging工程來對WPF工程進行打包,最終經過Packaging工程來生成APPX文件。能夠在Windows Universal目錄下找到Windows Application Packaging Project。app

        點擊OK建立完成後,記得要在Applications中添加對WPF工程的引用。同時咱們還能夠看到Images文件夾下對應的圖片,是轉換完成後的磁貼圖標。不更新的話在開始菜單裏就是默認的方塊叉圖標。學習

        經過Visual Studio添加Packaging工程的優勢是,咱們能夠方便的調試原來的WPF程序。這裏咱們將啓示項目Startup Project設置爲SimpleWpfAppPackaging後,按F5運行是能夠直接調試SimpleWpfApp工程的。咱們能夠加個斷點試試,體驗能夠說是無縫連接必須好評了。成功運行程序後,你會在開始菜單中發現SimpleWpfAppPackaging。調試

        再接着就是建立APPX等文件提交商店了。Packaging工程上經過右鍵菜單Store -> Create App Packages… 再日後的流程就是和純的UWP工程如出一轍了。blog

        假設咱們給APPX的名字也命名爲SimpleWpfAppPackaging,那麼咱們能夠獲得如下APPXUPLOAD文件。這個文件就是提交到商店進行審覈的最終文件。圖片

        本篇先作了一個最基本的介紹,但願能留下對遷移工程的初步印象,後面咱們會接着討論通常狀況下,遷移工做可能會遇到的問題和解決方案。
        本篇相關代碼地址:開發

https://github.com/manupstairs/DesktopBridgeSamplesget

相關文章
相關標籤/搜索