已签名的 ClickOnce 应用程序的手动更新会引发 TrustNotGrantedException
Manual update for signed ClickOnce app throws TrustNotGrantedException
我有一个 ClickOnce 部署,它是由从 Symantec 获得的证书签名的。启动设置后的安全警告提示显示发布者名称。所以值得信赖。但是当调用
ApplicationDeployment.CurrentDeployment.CheckForDetailedUpdate()
我收到 TrustNotGrantedException - 用户拒绝授予应用程序所需的权限。
如果我将我的证书添加到我机器上的受信任的发布者存储中,则不会引发异常,并且 Symantec 的 CA 也会添加到该存储中。但显然我无法将证书添加到使用该应用程序的客户的 Trusted Publishers Store。
该应用程序首先从光盘安装,每次启动时它都会检查在线更新 url。
如果我之后从 Trusted Publishers Store 中删除证书,如果我再次尝试,手动更新仍然有效。这些信息是否也存储在其他地方?
如果我不签署已发布的 ClickOnce 应用程序,则手动更新有效。
如果我使用使用 makecert 制作的自签名证书对已发布的 ClickOnce 应用程序进行签名,则手动更新有效。
所以证书可能有问题?
如何确定是否存在证书问题以及接下来应该执行哪些步骤?
我们现在正在使用InPlaceHostingManager Class。它用于安装或更新 ClickOnce 部署。 GetManifestAsync()
触发 GetManifestCompleted
事件,它会为您提供版本号。然后你可以调用 DownloadApplicationAsync()
并处理 DownloadApplicationCompleted
事件。到目前为止,这是有效的,没有抛出 TrustNotGrantedException。
我有一个 ClickOnce 部署,它是由从 Symantec 获得的证书签名的。启动设置后的安全警告提示显示发布者名称。所以值得信赖。但是当调用
ApplicationDeployment.CurrentDeployment.CheckForDetailedUpdate()
我收到 TrustNotGrantedException - 用户拒绝授予应用程序所需的权限。
如果我将我的证书添加到我机器上的受信任的发布者存储中,则不会引发异常,并且 Symantec 的 CA 也会添加到该存储中。但显然我无法将证书添加到使用该应用程序的客户的 Trusted Publishers Store。
该应用程序首先从光盘安装,每次启动时它都会检查在线更新 url。 如果我之后从 Trusted Publishers Store 中删除证书,如果我再次尝试,手动更新仍然有效。这些信息是否也存储在其他地方?
如果我不签署已发布的 ClickOnce 应用程序,则手动更新有效。 如果我使用使用 makecert 制作的自签名证书对已发布的 ClickOnce 应用程序进行签名,则手动更新有效。 所以证书可能有问题?
如何确定是否存在证书问题以及接下来应该执行哪些步骤?
我们现在正在使用InPlaceHostingManager Class。它用于安装或更新 ClickOnce 部署。 GetManifestAsync()
触发 GetManifestCompleted
事件,它会为您提供版本号。然后你可以调用 DownloadApplicationAsync()
并处理 DownloadApplicationCompleted
事件。到目前为止,这是有效的,没有抛出 TrustNotGrantedException。