VS2015 DEP0700:应用程序注册失败。 (0X80070005)

时间:2016-05-15 22:02:02

标签: visual-studio-2015 win-universal-app windows-10

我无法部署DirectX 12通用应用程序。我的困难之夜始于签名错误,VS20015抱怨自动生成的MyDx12App_TemporaryKey.pfx无法签名。

Error       DEP0700 : Registration of the app failed.  (0x80070005) MyDx12App           
Warning APPX0106    Loading certificate file 'MyDx12App_TemporaryKey.pfx' failed. Errore non specificato.
    MyDx12App   C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets   1908    
Warning APPX0106    Loading certificate file 'MyDx12App_TemporaryKey.pfx' failed. Errore non specificato.
    MyDx12App   C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets   1908    
Warning APPX0107    The certificate specified is not valid for signing. For more information about valid certificates, see http://go.microsoft.com/fwlink/?LinkID=241478.   MyDx12App   C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets   1908    

实际上,Visual Studio创建的PFX文件为空(0字节)。我通过执行以下操作创建了有效的证书:

Solution Explorer > Package.appxmanifest > Packaging > Choose Certificate... > Create test certificate...

通过这样做,我摆脱了签名错误(非常有趣的是,在干净后,即使使用损坏的证书,也不会出现在第二次和随后的重新部署中,这导致我认为可能不是&#39 ;真正的问题)。

无论如何,通过这个修复,我能够摆脱签名错误,即使在干净后尝试重新部署也是如此;但是日志的第一个错误:

DEP0700 : Registration of the app failed.  (0x80070005)

永远不会离开,并让我在晚上的最佳时刻保持良好的合作。

我尝试了我可以在Google上找到的所有内容,但是我的情况似乎有所不同,因为错误消息没有指定任何子错误,尽管它确实说它是一个拒绝访问错误(0x80070005)。

我尝试的事情:

  • 使用本地帐户
  • 从我的Microsoft帐户中断开VS
  • 更改包名称(在清单中)
  • 更改版本(在清单中)
  • 更改发布商显示名称
  • 重新创建PFX证书
  • 禁用并重新启用开发者模式
  • 允许SYSTEM用户完全控制解决方案目录
  • 将我的帐户变为管理员(我可以这样做,因为我在这台电脑上也有管理员帐户)。

没有任何效果。我的机器:

Visual Studio: Community 2015, 14.0.25123.00, Update 2

Windows 10
  Version: 1511
  OS Build: 10586.318

6 个答案:

答案 0 :(得分:6)

事实证明我没有给SYSTEM完全控制。您需要使用高级安全设置,以递归方式应用权限。正确的程序是:

  • 右键单击解决方案目录
  • 单击“属性”
  • 点击安全
  • 点击高级
  • 在“授权”标签中,单击“添加”
  • 选择SYSTEM作为实体
  • 选择完全控制
  • 点击确定
  • 检查"使用此对象的可继承权限替换所有子对象权限"
  • 点击确定

答案 1 :(得分:3)

对于未来的观众,

我发现如果您打开应用包文件夹中的任何文件,也会生成此错误。就我而言,我在查看器中打开了SQLite数据库文件,导致VS2015因DEP0700错误而失败。

答案 2 :(得分:2)

尝试关闭Visual Studio和任何模拟器。然后,作为管理员,转到 目录%USERPROFILE%\ AppData \ Local \ Packages(通常在C:\ Users \%username%中)。 然后,删除包含名称的目录(名称为nnnn.Yourname.YourAppName_xxxxxxxxxxxxx的目录)。 然后重新启动Visual Studio并尝试再次部署。

答案 3 :(得分:1)

我的新创建的Xamarin.forms项目(存储在网络驱动器)和VS2015 Update3 RC上也出现了DEP0700错误。 在我将输出目录从网络驱动器更改为本地目录(作为快速解决方法)后,错误已经消失...
您可以在Problem Xamarin.forms on a network-drive

找到详细信息

答案 4 :(得分:0)

遇到相同的问题(error APPX0106: Loading certificate file 'MyCert.pfx),并尝试了所有解决方案,但对我没有任何帮助。 实际上,它们是.csproj中键名之后的新行

<PackageCertificateKeyFile>MyCert.pfx
</PackageCertificateKeyFile>

将其删除,并且可以正常工作。

答案 5 :(得分:0)

部署失败并出现权限错误还有另一个原因 - 如果解决方案目录受 Windows EFS 保护!

事实上,UWP 应用程序似乎根本不喜欢 EFS。他们不会打开使用 EFS 加密的文件。

我是 UWP 的新手,但这似乎是一个主要缺点。