Windows runtime 部署到客户端时代理组件不工作

Windows runtime 部署到客户端时代理组件不工作,windows-runtime,windows-store-apps,winrt-component,Windows Runtime,Windows Store Apps,Winrt Component,我用brokered copmonent创建了一个测试应用程序,它在我的机器上运行平稳,但当将它移动到平板电脑上并完成所有必需的设置(regsvr32,icacls)时,它会抛出一个异常。然后我去下载了微软的Northwind样本,它的行为也一样。在我的机器上可以正常工作,但在其他平板电脑上不行。我有什么遗漏吗?以下是异常,它是强制转换异常和拒绝访问异常: 无法将类型为“NorthwindRT.DAL.FileWatcher”的COM对象强制转换为接口类型“NorthwindRT.DAL.IFi

我用brokered copmonent创建了一个测试应用程序,它在我的机器上运行平稳,但当将它移动到平板电脑上并完成所有必需的设置(regsvr32,icacls)时,它会抛出一个异常。然后我去下载了微软的Northwind样本,它的行为也一样。在我的机器上可以正常工作,但在其他平板电脑上不行。我有什么遗漏吗?以下是异常,它是强制转换异常和拒绝访问异常: 无法将类型为“NorthwindRT.DAL.FileWatcher”的COM对象强制转换为接口类型“NorthwindRT.DAL.IFileWatcherClass”。此操作失败,因为对IID为“{23F40340-AEB1-5774-5705-64488C9BDD3A}”的接口的COM组件的QueryInterface调用因以下错误而失败:访问被拒绝。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))。 但我在平板电脑上做的和在显影机上做的一样! 我将所需文件移动到正确的目录,并对所有应用程序启用读取/执行,并使用regsvr32注册代理。用户还可以访问实现dll所在的目录,因此访问被拒绝异常很奇怪。 我做了关于经纪公司的研究,我做的和现有的文档完全一样!
有什么想法吗?我有什么遗漏吗?我需要做额外的设置吗?我的系统是否缺少任何必需的dll?

应用程序无法访问msvcr120d.dll
将“所有应用程序包”添加到此dll,它将解决此问题。

我也在处理代理组件,到目前为止,我在开发和部署方面取得了一些成功

访问被拒绝。(HRESULT的例外:0x80070005(E_访问被拒绝))

您需要在拥有proxystub.dll和winmd实现的文件夹中运行icacls

icacls/T/授予“所有应用程序包”:RX

现在,如果你部署到一个没有DEV环境的设备(即VisualStudio),你需要安装VisualStudio2015 <强> > VisualC++ +可重新分发(你可以使用任何VS版本,它只是我使用VS2015的结果)。你可以下载它。还有一件事,由于设备中没有开发环境,您希望部署发布程序集不调试,这样程序集就不会引用用于调试的库或dll(即msvcr120.dll而不是msvcr120d.dll)因为它不会在干净的设备中找到


最后,我有一个关于代理的组件。你可能想看看

最后你能解决这个问题吗?