【问题标题】:WatiN on AppHarbor: COMException, "Server execution failed"在 AppHarbor 上等待:COMException,“服务器执行失败”
【发布时间】:2015-07-06 10:10:52
【问题描述】:

我在控制台应用程序中使用 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 上工作?

【问题讨论】:

    标签: watin appharbor


    【解决方案1】:

    为了能够运行 WatIn,它需要(以管理员身份)访问某些资源。当您运行一个 COM 对象时,它需要能够查询注册表以确定 Internet Explorer 是否是该系统中的一个 COM 对象以及它是否正在启动它。我没有使用 AppHarbor 的第一手经验,但我很确定他们不会让您能够查询他们的机器有哪些 COM 服务器,因此他们不会为您提供访问权限。

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 2018-06-03
      • 2014-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-14
      • 1970-01-01
      相关资源
      最近更新 更多