Класс приложений DCOM C#

я пытаюсь управлять LabView(http://www.ni.com/labview/) через Компонент DCOM. Я использую С# (Visual Studio). Моя программа работает на некоторых компьютерах, но есть и такие, которые генерируют исключение во время выполнения. Таким образом, проблема, похоже, связана с проблемой конфигурации. Прежде всего отображаемая ошибка:

The COM Classfactory for the component with the CLSID {9A872070-0A06-11D1-90B7-00A024CE2744} could not be called because of the following error: 80080005 (i translated the message, dont wonder!) Sometimes the error code is also 80070002 (Then the system can't find the file)

Информация: CLSID 9A872070-0A06-11D1-90B7-00A024CE2744 является компонентом LabVIEW DCOM и автоматически устанавливается во время установки LabVIEW.

Также указана строка исходного кода ошибки:

viServer = new ApplicationClass();



[FileNotFoundException: Die COM-Klassenfactory für die Komponente mit CLSID {9A872070-0A06-11D1-90B7-00A024CE2744} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80070002 Das System kann die angegebene Datei nicht finden. (Ausnahme von HRESULT: 0x80070002).]
   iLabs.LabView.LV2013.LabViewInterface..ctor() in C:\ilabSDK\iLab_440_20141119\iLab_SA\dotNet\LabView\LabViewInterface\LabViewInterface.cs:135

[Exception: ERROR: Creating ApplicationClass LabVIEW 2013: ]
   iLabs.LabView.LV2013.LabViewInterface..ctor() in C:\ilabSDK\iLab_440_20141119\iLab_SA\dotNet\LabView\LabViewInterface\LabViewInterface.cs:143
   iLabs.LabServer.LabView.LabViewTaskFactory.CreateLabTask(LabAppInfo appInfo, Coupon expCoupon, Ticket expTicket) +647
   iLabs.LabServer.LabView.LVPortal.Page_Load(Object sender, EventArgs e) +821
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
   System.Web.UI.Control.OnLoad(EventArgs e) +95
   System.Web.UI.Control.LoadRecursive() +59
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +678

У кого-нибудь есть идеи на эту тему?

все лучшее из германии

ЧеВейо

P.S. Может ли это быть 32/64-битной проблемой в DCOM? MMC comexp.msc /32 если я вызываю это, то есть локальный путь в свойствах компонента dcom MMC comexp.msc /64 если я вызываю это, то локальный путь пуст!


person Che Veyo    schedule 06.04.2016    source источник


Ответы (2)


Закрыто, я нашел решение сам...

Я искал в реестре CLSID, и там был введен неправильный путь;)

person Che Veyo    schedule 07.04.2016

Очевидно, в сообщении об ошибке говорится, что не удается найти определенный файл. Почему имя файла не упоминается в коде ошибки?

person Che Veyo    schedule 06.04.2016