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

dam*_*911 7 win-universal-app windows-10 visual-studio-2015

我无法部署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    
Run Code Online (Sandbox Code Playgroud)

实际上,Visual Studio创建的PFX文件为空(0字节).我做了一个有效的证书:

Solution Explorer > Package.appxmanifest > Packaging > Choose Certificate... > Create test certificate...
Run Code Online (Sandbox Code Playgroud)

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

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

DEP0700 : Registration of the app failed.  (0x80070005)
Run Code Online (Sandbox Code Playgroud)

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

我尝试了一切我能找到的谷歌,但我的情况似乎不同,因为错误消息没有指定任何子错误,虽然它确实说它是一个访问被拒绝错误(0x80070005).

我试过的事情:

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

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

Visual Studio: Community 2015, 14.0.25123.00, Update 2

Windows 10
  Version: 1511
  OS Build: 10586.318
Run Code Online (Sandbox Code Playgroud)

dam*_*911 6

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

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


Tak*_*rii 6

对于未来的观众来说,

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