Win(Phone)10开发第(2)弹,导出APPX包并签名部署

Posted by baicai on March 26, 2015

当我们新建一个win10 uap项目,如果想导出测试包,需要点击项目名称,选择商店-导出应用包,这个时候会生成一个文件夹,包含appx和ps1等文件。

powershell运行Add-AppDevPackage.ps1安装脚本,可能会提示:

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如
http://go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [N] 否(N)  [S] 挂起(S)  [?] 帮助 (默认值为“Y”):  输入Y

PS E:\AppPackages\BlankApplication_1.0.0.0_AnyCPU_Test> .\Add-AppDevPackage.ps1
找到包: E:\AppPackages\BlankApplication_1.0.0.0_AnyCPU_Test\BlankApplication_1.0.0.0_AnyCPU.appx
错误:  包或捆绑无数字签名或其签名已损坏。</span>
按 Enter 键继续...:
</p>

出现这个问题说明生成的appx包未经签名。

在项目目录下会发现一个 项目名_TemporaryKey.pfx的文件,打开vs自带的开发人员命令行工具或者从网上下载一个signtool工具,执行以下命令:

signtool sign /a /v /fd SHA256 /f pfxpath appxpath
比如:</span> </div>
signtool sign /a /v /fd SHA256 /f "C:\Users\BaicaiVM\Documents\Visua
l Studio 2015\Projects\BlankApplication\BlankApplication\BlankApplication_TemporaryKey.pfx" E:\AppPackages\BlankApplicat
ion_1.0.0.0_AnyCPU_Test\BlankApplication_1.0.0.0_AnyCPU.appx
 
会提示:

The following certificate was selected:
    Issued to: BaicaiVM
    Issued by: BaicaiVM
    Expires:   Fri Mar 25 19:59:44 2016
    SHA1 hash: 2A54908A7EAB2EC3DEBDD1B2DD7D3EFD65B201C3

Done Adding Additional Store
Successfully signed: E:\AppPackages\BlankApplication_1.0.0.0_AnyCPU_Test\BlankApplication_1.0.0.0_AnyCPU.appx

Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0

这就说明签名完毕。

再次用powershell执行安装脚本就会成功了

PS E:\AppPackages\BlankApplication_1.0.0.0_AnyCPU_Test> .\Add-AppDevPackage.ps1
找到包: E:\AppPackages\BlankApplication_1.0.0.0_AnyCPU_Test\BlankApplication_1.0.0.0_AnyCPU.appx

正在安装应用程序...

成功:  成功安装了应用程序。</span>
按 Enter 键继续...:
</p>