我們可以通過Windows 8新增的應(yīng)用商店在本機安裝各種應(yīng)用,不過Windows 8應(yīng)用的安裝是有限制的,只能在應(yīng)用商店下載在線安裝。有沒有辦法,可以像傳統(tǒng)的Windows軟件一樣,從任意地方下載獲取,然后在本機離線安裝?
【解題思路】
這個挑戰(zhàn)有點高難度。
在Windows 8應(yīng)用商店中下載、安裝應(yīng)用雖然方便,但有時也很麻煩,比如許多人遇到過應(yīng)用商店進不去的問題,或者下載速度慢,并且下載時也不能切換到別的應(yīng)用(因為一旦應(yīng)用商店處在后臺,下載就會被掛起)。因此我們可以自己封裝應(yīng)用,然后離線安裝。這樣既方便在其他電腦上安裝,也便于和好友共享APP。離線應(yīng)用需要Windows 8受信任的證書才能安裝,這需要借助一些工具來突破證書的限制。
【解題方法】
安裝許可證突破限制
由于離線應(yīng)用需要Windows 8受信任的證書才能安裝,因此我們首先要在本機安裝證書。對于新手來說,通過安裝Windows 8開發(fā)人員許可證即可獲得證書。
首先從http://www.dwz.cn/cfan201312下載Win8 Metro Developer(注意:程序運行需要NET Framework 3.5的支持,運行會自動提示下載安裝然后重啟)。啟動程序后點擊“注冊開發(fā)人員許可證”,按提示輸入自己的微軟賬號申請即可。
因為許可證包含受Windows 8信任的根證書,完成許可證的安裝后,就相當(dāng)于APP開發(fā)者了,所以有權(quán)限在本機安裝APPX應(yīng)用,以后就可以直接安裝離線應(yīng)用了。
自己封裝離線APP
Windows 8開發(fā)人員許可證目前是免費的,但是它的證書只有3個月的有效期,而且很快就會進入收費階段。因此對于系統(tǒng)高手,我們可以手動解除Windows 8應(yīng)用在線安裝限制。所需工具到http://dwz/cfan2019下載,下載后將其全部解壓到H盤備用。
Windows 8應(yīng)用默認全部安裝在C:\Program Files\windowsapps,當(dāng)前用戶默認無法直接訪問,我們需要先將文件夾查看方式設(shè)置為“顯示所有文件”和“受系統(tǒng)保護文件”,然后右擊該目錄選擇“屬性→安全→高級→更改所有者”,將當(dāng)前目錄所有者設(shè)置為當(dāng)前用戶。接著返回屬性設(shè)置窗口,單擊“添加”,將當(dāng)前用戶添加到組和用戶列表,并將其權(quán)限設(shè)置為“完全控制”,這樣即可打開上述目錄。
完成上述操作后,在資源管理器中打開C:\Program Files\windowsapps,其中的每個目錄就對應(yīng)一個已安裝的應(yīng)用。
現(xiàn)在我們就可以將這里安裝的應(yīng)用提取出來重新封裝為離線APP。比如上班的時候,我們可以利用公司高速網(wǎng)絡(luò)在應(yīng)用商店下載安裝應(yīng)用,然后用下面的方法重新封裝,這樣就可以拿回家里電腦安裝或與朋友共享了。
這里以從應(yīng)用商店下載游戲為例,首先在公司電腦上通過應(yīng)用商店安裝好游戲。打開C:\Program Files\windowsapps目錄,提取其中游戲目錄到H盤并將其命名為youxi,接著打開H:\youxi,刪除該文件夾中的microsoft.system.package.metadata目錄,這個是系統(tǒng)自帶驗證文件。
接著返回桌面,按Win+X,選擇“命令提示(管理員)”,以管理員身份啟動命令提示符后,輸入下列的命令重新封裝該游戲:
H:\MakeAppx.exe pack /d h:\youxi /p my.appx
完成應(yīng)用的封裝后,在h:\youyxi下就會增加一個名為my.appx的應(yīng)用包,這就是我們制作好的離線安裝包,接下來我們就要對這個包進行簽名。
離線應(yīng)用的安裝
因為Windows 8在開始菜單的Modern環(huán)境中每個App都必須由受信任的證書簽名,這樣Windows 8才允許將其安裝到電腦上。因此需要先安裝證書,雙擊下載到的證書進行安裝,然后在打開的向?qū)нx擇“本地計算機”。
剩下的操作按照屏幕提示依次點擊“下一步→是→確認導(dǎo)入證書為H:\證書.pfx→下一步→輸入私鑰的密碼(默認為pcbeta)→下一步→將所有證書放在下列存儲→瀏覽→選擇“受信任的根證書頒發(fā)機構(gòu)”,最后點擊完成證書的安裝。
完成證書的安裝后,打開IE,點擊“工具→internet選項→內(nèi)容→證書→受信任的根證書頒發(fā)機構(gòu)”,確保其中安裝了hadesy證書。
選中hadesy證書點擊“導(dǎo)出→下一步→是,導(dǎo)出私鑰→下一步→設(shè)置私鑰的密碼→下一步→設(shè)置私鑰的名稱保存位置如my.pfx→完成”,將導(dǎo)出私鑰保存在H盤備用。
最后我們就可以使用signtool對離線應(yīng)用進行簽名了,同上繼續(xù)在命令提示符下輸入下列的命令進行簽名(******為上面設(shè)置的私鑰密碼)。
signtool sign /a /v /fd SHA256 /p ****** /f h:\my.PFX h:\my.appx
不過注意的是.appx文件并非可執(zhí)行文件,我們無法雙擊進行安裝。以管理身份啟動powershell,然后輸入下列的命令即可進行安裝:
add-appxpacke h:\my.appx