关于 Visual Studio 2013:WinRT App\\’s package family 安装了多个包。

WinRT App's package family has more than one package installed.

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

Microsoft Visual Studio

Unable to activate Windows Store app 'xxxx'. The activation request
failed with error 'This app's package family has more than one package
installed. This is not supported'. See help for advice on
troubleshooting the issue.
OK Help

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

The app xxx App's package family (xxxx) has more than one package installed. This is not supported, so the app was not activated for the Windows.Launch contract.

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

1
Get-AppxPackage -all

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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