【问题标题】:WinRT App's package family has more than one package installed.WinRT App 的软件包系列安装了多个软件包。
【发布时间】:2014-11-10 21:47:03
【问题描述】:

当我去调试我们的应用程序时,我收到以下错误消息

微软视觉工作室

无法激活 Windows 应用商店应用“xxxx”。激活请求 失败并出现错误“此应用程序的包系列包含多个包 安装。这是不支持的'。请参阅帮助以获取有关建议 解决问题。
确定帮助

当我挖掘事件日志时,我发现了这个错误。

应用程序 xxx 应用程序的软件包系列 (xxxx) 安装了多个软件包。这不受支持,因此没有为 Windows.Launch 合同激活该应用。

为了找出安装了哪些其他软件包,我运行以下 PS 脚本:

Get-AppxPackage -all 

查看上一个脚本的输出,我只看到从 Visual Studio 位置安装的一个包。我从开始菜单卸载了该应用程序并再次运行脚本,但没有安装任何内容。

应用已签名,因此我无法更改包系列名称。

我已按照https://stackoverflow.com/a/14340075/127067 中的步骤操作,但我仍然无法从 VS 或已安装的包中运行我们的应用程序。

如何找到其他错误的包系列名称?通过注册表挖掘?

为了再次运行应用程序,我可以执行哪些步骤?

【问题讨论】:

    标签: visual-studio-2013 windows-runtime c#-5.0 appx


    【解决方案1】:

    很难猜到你是怎么做到的。双击项目中的Package.appxmanifest 文件。选择打包选项卡,您将看到应用程序的包系列名称。它由包名称、guid 和您的发布者名称的哈希组成。 guid 应该使其独一无二,请确保您没有更改它。

    已安装的商店应用程序记录在 HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Families 注册表项中。将条目与您的条目进行比较,匹配将是一个问题。在开始破解密钥之前,请尝试正常卸载它。

    【讨论】:

    • 你的回答很完美。为了删除您指向我的额外密钥,我通过将自己设置为所有者来更改注册表项的权限并让我自己完全控制。否则我无法删除它。很棒的发现。谢谢。
    • 我知道这是怎么回事。我们的软件有多个版本。如果我必须修复旧版本上的错误,最终必须将其部署到我的机器上。这个版本号低于我之前工作的版本号。所以我必须卸载主分支版本,然后破解注册表以删除您指定的条目。然后我可以部署旧版本。再次感谢。
    • 我遇到了同样的问题,正在使用的应用程序已被删除,但 x.x.x.x 版本的注册表项仍被保存。为了删除它,我最终部署了 x.x.x.x 版本并再次卸载它,从而删除了有问题的注册表项。
    【解决方案2】:

    我在开发 Windows 应用程序并尝试在我的开发机器上调试它时也遇到了同样的问题。

    因此,从错误消息本身来看,很明显您的应用上已经安装了一个应用,因此安装程序无法继续进行。

    在上面的帖子中,您可以了解我们的系统和安装程序内部发生了什么。

    第一次解决了注册表清理和清除该特定应用程序的注册表项的相同问题。在做同样的事情时,您需要更加注意。

    但是第二次,我又遇到了这个问题。

    实际的问题是为什么会发生这种情况,至少在我的机器上是这样。

    当我们尝试创建应用包(Project->Store->Create App Packages)时,我们可能会更改包版本。这就是我们以某种方式制造该错误的地方。

    假设我已经通过调试器在我的机器上安装了版本 1.0.0.1 的应用程序,并且我们第二次创建版本为 1.0.0.2 的应用程序。现在,在创建应用程序后,我们启动 Windows 应用程序认证工具包工具来验证我们的应用程序,它会失败(在我的情况下)。如果我想调试 Windows 应用程序,它会显示上述错误。

    为了解决这个问题,我所做的是,创建了与我的机器上已经安装的相同版本的应用程序包,然后尝试启动调试器并且成功了。

    所以这是我对这个错误的解决方案。除了这个和上面提到的解决方案之外,可能还有其他方法可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 2016-11-09
      • 2017-11-30
      • 2017-12-30
      • 2020-05-19
      • 1970-01-01
      • 2021-11-15
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多