【问题标题】:The deployment identity at the deployment provider is not the same as the original deployment identity部署提供商处的部署身份与原始部署身份不同
【发布时间】:2014-03-05 12:47:34
【问题描述】:

我有一个给我带来很多麻烦的应用程序。创建它的人不再在我们公司工作,由我来为我们的 Windows 7 机器修复和发布该程序

但是我得到以下堆栈跟踪:

    PLATFORM VERSION INFO
    Windows             : 6.1.7601.65536 (Win32NT)
    Common Language Runtime     : 4.0.30319.18063
    System.Deployment.dll       : 4.0.30319.17929 built by: FX45RTMREL
    clr.dll             : 4.0.30319.18063 built by: FX45RTMGDR
    dfdll.dll           : 4.0.30319.17929 built by: FX45RTMREL
    dfshim.dll          : 4.0.41209.0 (Main.041209-0000)

SOURCES
    Deployment url          : file://nkm18427/PRV-JSKR/Backup/DOPeSolutions.application
    Deployment Provider url     : http://nkm18f53:8181/DRIFT/DOPe%20Data%20Management/DOPeSolutions.application
                        Server      : Apache-Coyote/1.1

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of \\nkm18427\PRV-JSKR\Backup\DOPeSolutions.application resulted in exception. Following failure messages were detected:
        + The deployment identity at the deployment provider is not the same as the original deployment identity.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [05-03-2014 13:45:05] : Activation of \\nkm18427\PRV-JSKR\Backup\DOPeSolutions.application has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [05-03-2014 13:45:05] System.Deployment.Application.InvalidDeploymentException (SubscriptionSemanticValidation)
        - The deployment identity at the deployment provider is not the same as the original deployment identity.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.DownloadManager.FollowDeploymentProviderUri(SubscriptionStore subStore, AssemblyManifest& deployment, Uri& sourceUri, TempFile& tempFile, IDownloadNotification notification, DownloadOptions options)
            at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.

谁能告诉我为什么会发生这种情况以及我该如何解决?

【问题讨论】:

  • 你是怎么解决的???

标签: visual-studio-2010


【解决方案1】:

问题

每当我尝试发布具有不同目标架构的点击一次应用程序时,我通常会收到此错误,而不是当前安装在机器上的架构(x86 与 x64)

当应用程序的签名/证书与原始发布不同时

解决方案

我会尝试确保您的目标架构没有更改(如果您最初将其发布为 x32,请确保您尝试安装的版本仍然是 x32)

确保签名设置没有任何变化(如果您最初使用证书发布,请确保它仍然是相同的证书)

但是,如果您有意进行这些更改,您只需在主机上卸载现有应用程序,然后使用您尝试安装的版本重新安装即可解决错误并允许您安装新版本。

【讨论】:

  • 我在前一个过期后生成了一个新的测试证书。现在,当我尝试安装它时出现此错误。我能做什么??
【解决方案2】:

我刚刚在以下情况下遇到此错误消息。我更新了 ClickOnce 应用程序,以使用我的组织颁发的受信任证书对 ClickOnce 清单进行签名。此特定应用程序在以前的版本中使用自签名证书。这反过来会更改 publisherIdentity 元素 (https://msdn.microsoft.com/en-us/library/dd996956.aspx) 并在 ClickOnce Deployment Manifest (.application 文件) 中生成散列。

在您的情况下,之前的开发人员可能使用与之前版本不同的证书重新签署了应用程序。或者该应用程序可能没有在以前的版本中签名。从您看到的错误消息来看,这几乎可以肯定是作为 ClickOnce 应用程序发布的应用程序。

假设您已经掌握了代码,并且您正在使用 Visual Studio,请在解决方案资源管理器中右键单击该项目并选择“属性”。然后单击签名以查看签名详细信息,例如清单是否已签名,如果已签名,则使用了哪个证书。

【讨论】:

  • 我在前一个过期后生成了一个新的测试证书。现在,当我尝试安装它时出现此错误。我该怎么办??
【解决方案3】:

当您更改“发布位置”->“安装文件夹 URL(如果与上述不同)”时,您将遇到相同的异常,但忘记更改以下内容:“安装模式和设置”->“更新.. ." -> "更新位置(如果与发布位置不同)"。

【讨论】:

    【解决方案4】:

    我收到此异常是因为我使用 IP 地址而不是完整的 DNS 名称下载了 .application 文件。该应用程序托管在 CDN 上,因此肯定不是典型情况,但在我的情况下,切换到全名解决了问题。

    【讨论】:

      【解决方案5】:

      就我而言,我在尝试从项目属性中指定的不同 Internet URL 安装它时遇到此错误。

      【讨论】:

        【解决方案6】:

        在短时间内测试几个不同的 ClickOnce 更新时,我注意到我收到了这个错误(“应用程序无法启动” with details “部署提供商处的部署身份不是与原始部署标识相同。”),即使我卸载了所有以前安装的包!

        清除 ClickOnce 缓存(如 here 所述)并重新启动并没有解决问题。

        但是在我清除浏览器缓存(在我的例子中是 Chrome)之后,我能够安装 ClickOnce 包。因此,在您测试安装更新之前(作为开发人员,通过访问安装 URL),请确保先清除(默认)浏览器缓存。

        对于 Chrome:oncedisable cache during session

        对于边缘:once

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-11-10
          • 2019-02-25
          • 1970-01-01
          • 1970-01-01
          • 2015-10-29
          • 2013-06-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多