已签名的ClickOnce应用程序的手动更新会引发TrustNotGrantedException

问题描述 投票:1回答:1

我有一个ClickOnce部署,该部署由从Symantec获得的证书签名。启动安装程序后的安全警告提示会显示发布者名称。所以它是值得信赖的。但是在打电话时

ApplicationDeployment.CurrentDeployment.CheckForDetailedUpdate()

我收到TrustNotGrantedException - 用户拒绝向应用程序授予所需的权限。

如果我将证书添加到计算机上的受信任发布者存储中,则不会抛出异常,并且Symantec的CA也会添加到存储中。但显然我无法将证书添加到使用该应用程序的客户的Trusted Publishers Store中。

该应用程序首先从光盘安装,并在每次启动时检查在线更新URL。如果我之后从受信任的发布商店中删除证书,那么如果我再次尝试,手动更新仍然有效。这些信息是否也存储在别处?

如果我没有签署已发布的ClickOnce应用程序,则手动更新有效。如果我使用使用makecert制作的自签名证书对已发布的ClickOnce应用程序进行签名,则手动更新将起作用。所以证书可能存在问题?

如何确定是否存在证书问题以及下一步应该执行哪些步骤?

c# certificate clickonce code-signing-certificate symantec
1个回答
0
投票

我们现在正在使用InPlaceHostingManager Class。它用于安装或更新ClickOnce部署。 GetManifestAsync()发射了GetManifestCompleted事件,它为您提供版本号。然后你可以调用DownloadApplicationAsync()并处理DownloadApplicationCompleted事件。到目前为止,这个工作并没有抛出TrustNotGrantedException。

© www.soinside.com 2019 - 2024. All rights reserved.