Silverlight“浏览器应用程序外”与“从页面安装”

时间:2010-12-22 23:24:10

标签: silverlight visual-studio-2010 com silverlight-4.0

我一直在努力将一些调用COM类的控件集成到Silverlight客户端中。由于我的控件使用COM,因此它们只能在浏览器之外使用。客户端确实没有打开浏览器安装选项,当我从visual studio启动客户端时,我可以右键单击它,然后将其安装到桌面上。这一切似乎都很好。但奇怪的是,当我们的控件不在浏览器中时,它们无法正常工作 - 我收到一条COM服务器无法启动的错误。

陌生人的一部分是,如果我进入clientproperties,并将Start Action从“动态生成测试页面”设置为“Out of browser application”,我的控件工作正常,我没有COM错误。所以我想我不明白通过右键菜单将应用程序安装到桌面并将应用程序设置为从浏览器应用程序中启动之间的区别。知道这里发生了什么吗?

修改

看起来这可能与调试有关。如果(在Visual Studio中)我选择Debug-> Start Debugging,我的COM代码可以工作。如果我选择Debug-> Start Without Debugging,它就不起作用。如果直接从XAP文件安装它也不起作用。

1 个答案:

答案 0 :(得分:1)

这是一个海拔问题。我试图访问的COM进程正在升级,我也试图启动升级的SL应用程序。但是,sllauncher.exe会启动升级,然后立即降低其升高状态,并且不会升高。所以我们有一个非升级的过程试图与升级的过程交谈,这当然会失败。 Visual Studio被提升了,因此从那里启动应用程序使其保持升级,这就是它从那里起作用的原因。

我通过确保我的两个应用程序上的高程匹配来解决它 - 而不是启动升级的COM进程。