关于AppHarbor的WatiN:COMException,“服务器执行失败”

时间:2015-07-06 10:10:53

标签: watin appharbor

我在控制台应用程序中使用WatiN。我将平台设置为x86,并将[STAThread]添加到我的Main。我确认应用程序实际上是以32位模式运行(WatiN需要)。

WatiN在本地测试时工作正常,但在AppHarbor上运行时崩溃:

  

[COMException:检索具有CLSID {0002DF01-0000-0000-C000-000000000046}的组件的COM类工厂失败,原因是   以下错误:80080005服务器执行失败(异常来自   HRESULT:0x80080005(CO_E_SERVER_EXEC_FAILURE))。]

     

0007FFB8B2184B3 WatiN_Core!WatiN.Core.IE.CreateNewIEAndGoToUri(System.Uri,   WatiN.Core.Interfaces.IDialogHandler,Boolean)+ 0x103

如何让WatiN在AppHarbor上工作?

1 个答案:

答案 0 :(得分:1)

能够运行WatIn需要访问(作为管理员)某些资源。当您运行COM对象时,它需要能够查询注册表以查明Internet Explorer是否是该系统中的COM对象以及是否启动它。我没有AppHarbor的第一手经验,但我很确定他们不会让你能够查询他们的机器有什么COM服务器,所以他们不会为你提供这种访问。

要100%确定这一点,您应该询问他们是否可以访问其计算机上的COM对象。

当您在本地计算机上运行它时,因为您以管理员身份登录或以管理员身份启动该过程。

希望这有帮助。