XBAP将++ COM服务器,并排的部署问题

问题描述:

我面临着以下情况的非托管C: 我创建的是指非托管C++ COM服务器(隔离)一个简单的完全信任XBAP应用。XBAP将++ COM服务器,并排的部署问题

部署后,我期望XBAP应用程序将发现放置在同一目录中的COM服务器DLL,但事实并非如此。 我收到以下错误:

异常已被调用的目标引发。 ---> System.Runtime.InteropServices.COMException(0x80040154的):80040154 在Generation888.Generation888:具有CLSID {970599E0-2673-11D3-A8A8-00105AA943DF}失败,由于以下错误检索COM类工厂组件。简单(的Int32 NUM1,的Int32 NUM2)

我核实,当XBAP部署文件夹包含包含适当的CLSID

如果我创建了一个简单的C#Windows窗体应用程序,指的是同一个DLL和XBAP清单COM DLL,它工作正常。

我的问题是XBAP支持并排机制。

谢谢

我对XBAPs并不熟悉,所以这些是一些一般性建议。 如果您XBAP其实是在被推出作为一个独立的可执行文件,因为它的fulltrust(什么taskmgr说?),请尝试使用从Windows Vista或更高版本升级的命令行中的“sxstrace.exe”工具来确定XBAP清单是否实际上由系统解释。这是可能的,如果你第一次尝试你的应用程序没有清单或修改清单,系统缓存的这个旧的信息,你需要通过触摸这两个清单和可执行文件的时间戳来清除此清单状态缓存。

您的可执行文件还可能包含嵌入式清单,这意味着外部清单将被忽略。要检查此操作,请在Visual Studio中打开可执行文件,并查看它是否具有ID为1的RT_MANIFEST资源。