没有受信任的证书如何安装 .appx 文件?

94

我有一个Windows 8应用程序,想要将其部署到我的Windows RT 2上。我只有 .appx 文件,并且想通过绕过应用商店进行安装以进行测试。但是,当我运行以下命令时:

Add-AppxPackage <project.appx>
我遇到了以下错误:

内联脚本返回错误输出:Add-AppxPackage:部署失败,HRESULT: 0x800B0109,证书链已处理,但在一个根证书中终止,该根证书未被信任的信任提供程序所信任。(来自 HRESULT 的异常:0x800B0109)error 0x800B0109:应用程序包中签名的根证书必须是受信任的。*

谷歌说我需要证书或PowerShell脚本,但肯定有一种方法可以直接绕过所有这些。理想情况下,我只想安装此应用程序进行测试。
否则,最简单的解决方法是什么?还需要什么才能与.appx一起使用,以便我可以毫不费力地安装它?
6个回答

169
证书可能是自签名的,因此您需要安装它以信任它。
获取签署应用程序的证书
如果这是您自己的应用程序,则应该能够在IDE中找到它(例如Visual Studio),否则请按照以下步骤操作:
右键单击APPX文件 单击属性 单击数字签名 从列表中选择签名 单击详细信息 单击查看证书 单击安装证书
安装证书
引用自在Windows RT上安装开发人员包
从Windows RT电脑,映射网络共享或连接USB驱动器,在其中可以访问包含要安装的应用程序包的AppPackages文件夹。使用Windows资源管理器打开该文件夹。 双击文件夹中的证书文件,然后点击“安装证书”。这将显示“证书导入向导”。 在“存储位置”组中,点击单选按钮以更改所选选项为“本地计算机”。 点击“下一步”。点击“确定”以确认UAC对话框。 在“证书导入向导”的下一个屏幕中,更改所选选项为“将所有证书放入以下存储区”。 点击“浏览”按钮。在“选择证书存储区”弹出窗口中,向下滚动并选择“受信任的人”,然后点击“确定”。 点击“下一步”按钮;出现新屏幕。点击“完成”按钮。 应该出现一个“确认对话框”;如果是,则点击“确定”。(如果不同的对话框指示证书存在问题,则可能需要进行一些证书故障排除。但是,描述如何处理这种情况超出了此主题的范围。)

参见:


12
要从appx获取证书,请打开文件属性 > 数字签名 > 详细信息 > 查看证书。您可以从那里安装,或在详细信息选项卡上保存证书。 - Andy Joiner
8
安装证书后我仍然无法使用,错误仍然存在。 - Shimmy Weitzhandler
53
起初对我没用,我不得不选择“本地计算机”而非将证书安装在当前用户的存储位置,并选择“受信任的根证书颁发机构”。 - xer21
5
@xer21拥有完整答案中缺失的部分。 "Local Machine"和"Trusted Root Certification Authorities"非常关键。(哇!谢谢!+1)。 - entiat
1
喜欢微软让事情变得更好。ClickOnce证书放在“受信任的发布者”中,而appx证书则放在“受信任的人”中。感谢您的帮助,为此花费了几个小时。 - Jan Zahradník
显示剩余6条评论

27
  1. 双击Package_1.0.6.0_AnyCPU_Debug.cer文件
  2. 点击安装证书...按钮
  3. 存储位置 -> 本地计算机
  4. 选择将所有证书放入下列存储
  5. 点击浏览...按钮
  6. 选择可信任的根证书颁发机构
  7. 确定

这种方法在Windows 11上仍然有效。 - undefined

27
对我来说不起作用,安装证书后仍然出现错误。
如果您收到以下消息: 要么需要为此应用程序包安装新证书,要么需要具有受信任证书的新应用程序包。您的系统管理员或应用程序开发人员可以提供帮助。处理了证书链,但终止于不受信任的根证书(0x800B0109) 那么在更新证书之后,您的证书很可能是临时的,解决它的简单方法是使其可用。
要更正此错误,您需要将证书的位置更改为根信任证书文件夹。当您点击自己的证书时,会出现一个页面询问您想要安装它的位置。因此,在那里,您需要更改为根信任证书文件夹,而不是使用默认值。
问候。

6
如果你不想安装到受信任的根证书颁发机构(这会对整个系统产生影响),你也可以安装在“受信任的人”中。 - rido

23

当我尝试安装侧载HockeyApp版本时,出现了以下问题:

解决方法:

在安装之前,请启用开发人员模式:

设置➔ 更新和安全性➔ 适用于开发人员的开发功能:开发人员模式


将证书(.cer文件)安装到受信任的根证书中。

  • 存储位置=本地计算机
  • 将所有证书放置在以下存储中=第三方根证书颁发机构

然后重试


1

我来帮忙翻译。以下是安装应用程序时出现的错误信息:

您需要安装此应用程序包的新证书,或者需要一个具有受信任证书的新应用程序包。您的系统管理员或应用程序开发人员可以提供帮助。证书链已处理,但终止于不受信任的根证书(0x800B0109)。

原来,启动安装程序的 Powershell 脚本似乎会进行一些预备工作,其中包括将证书等下载并安装到本地计算机。

在企业环境中,通常会设置互联网过滤器。在我们的情况下,是使用身份验证代理而不是很多软件都无法正确处理(1. 使用显式代理,2. 在请求时要求身份验证)。这总是同样的问题。有人在某个地方执行脚本,却没有考虑那些不时拥有完整和未经身份验证的互联网访问权限的人,比如在企业环境中。在我看来,你应该丢掉不能做到这一点的软件,这是他们(也许)学习的唯一途径。


0
如果您遇到以下错误:应用程序安装失败并显示错误消息:“安装失败。请联系软件供应商。(0x80073cf9)” 请检查您是否已经安装了此应用程序。 请卸载后再次尝试。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接