我有一个ClickOnce部署,该部署由从Symantec获得的证书签名。开始安装后的安全警告提示将显示发布者名称。因此值得信赖。但是在致电
时ApplicationDeployment.CurrentDeployment.CheckForDetailedUpdate()
我收到TrustNotGrantedException-用户拒绝向应用程序授予必需的权限。
如果将证书添加到计算机上的Trusted Publishers存储中,则不会引发异常,并且Symantec的CA也将添加到存储中。但是显然我无法将证书添加到使用该应用程序的客户的“受信任的发布者商店”中。
首先从光盘安装该应用程序,并在每次启动时检查一个在线更新URL。 并且,如果以后我从Trusted Publishers商店中删除证书,则再次尝试手动更新仍然有效。这些信息还会存储在其他地方吗?
如果我不签署发布的ClickOnce应用程序,则手动更新有效。 如果我使用由makecert制作的自签名证书签署发布的ClickOnce应用程序,则手动更新有效。 那么证书可能存在问题?
如何确定是否存在证书问题,下一步该怎么做?
答案 0 :(得分:0)
我们现在正在使用InPlaceHostingManager Class。它是用于安装或更新ClickOnce部署的。 GetManifestAsync()
触发GetManifestCompleted
事件,为您提供版本号。然后,您可以调用DownloadApplicationAsync()
并处理DownloadApplicationCompleted
事件。到目前为止,此方法有效,并且不会引发TrustNotGrantedException。