.NET 3.5 ActiveX DLL InteropServices.COMException - PullRequest
3 голосов
/ 08 октября 2009

Использование vs2008 .NET 3.5 SP1

Я пытаюсь использовать dll ActiveX в своем проекте консольного приложения c # и получаю следующее исключение времени выполнения:

System.Runtime.InteropServices.COMException (0x800702E4): Retrieving the COM class factory for component with CLSID {4E58088E-7275-4EAA-8958-A9CCC971DDE9} failed due to the following error: 800702e4.

Как мне найти решение этой проблемы?

Я ранее использовал regasm.exe для регистрации в DLL, и она успешно зарегистрирована.

имя DLL - interop.sterling.dll

простой код:

using SterlingLib;

  public class OrderPlacer
    {
    private void SendOrder()
        {
            var order = new SterlingLib.STIOrder();
        }
}

Я добавил ссылку на эту DLL, перейдя к ней и добавив ее в качестве ссылки - затем поместив в папку /bin/debug

с использованием отражения:

SterlingLib.STIOrderClass is a class whose base class is System.__ComObject
     It implements the following interfaces
         SterlingLib.ISTIOrder
         SterlingLib.STIOrder

SterlingLib.STIOrder is an interface

Я использую Vista, поэтому я думаю, что это может быть проблема с UAC, не позволяющая получить полные права, в отличие от того, что было бы, если бы я работал под управлением XP.

1 Ответ

6 голосов
/ 08 октября 2009

0x800702e4 предполагает, что процесс должен выполняться с повышенными привилегиями.

...