COM+ Dependancies: System.IO.FileNotFoundException

Discussion in 'Microsoft Dot NET' started by Guest, Apr 28, 2005.

  1. Guest

    Guest Guest

    I have rewritten a VB6 COM+ object using C# .Net. The object works as
    expected and registers itself in COM+ on my PC, the development server and
    even on the Test server. I did battle with this problem on the test server,
    but it seemed to resolve itself. This problem however is not resolving itself
    on the Production server.

    The COM+ object chats with a 3rd party dll (Registered using Regsrv32) via
    an Interop proxy dll. All are in the same folder. "<webApp>\bin"

    Via a switch in the web.config file, I can set the application to use either
    the VB6 or the .Net version. Both versions use the same 3rd party dll. The
    VB6 version works. The .Net version throws the following exception:

    1: Error Location:
    http://logisonline.pwv.gov.za/logisonline/pages-rq/rq-view-select.aspx
    2: Error Source: PackRQ.Net
    3: Error Trace:
    4:
    5: > System.IO.FileNotFoundException: File or assembly name
    Interop.EXLORQTypeLibrary, or one of its dependencies, was not found.
    6: > at System.Web.UI.Page.ProcessRequestMain()
    7: > at System.Web.UI.Control.LoadRecursive()
    8: > at System.Web.UI.Control.OnLoad(EventArgs e)
    9: > at System.EventHandler.Invoke(Object sender, EventArgs e)
    10: > at LogisOnline.WebForms.rq_view_select.Page_Load(Object sender,
    EventArgs e)
    11: > at LogisOnline.WebForms.RequisitionForm.GetRequisitionMVS(String&
    sAction)
    12: > at LogisOnline.Bob.RQ.Requisitions.GenericExec(XmlDocument& xmldRQ)
    13: > at PackRQ.Net.PackEXLORQ.EXRQ01DR(String sXML)
    14: > at
    System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
    Int32 type)
    15: > at
    System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
    msg, Int32 methodPtr, Boolean fExecuteInContext) Exception rethrown at [0]:
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    reqMsg, IMessage retMsg)
    16: > at
    System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase
    mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext,
    Object[]& outArgs)
    17: > Server stack trace: at PackRQ.Net.PackEXLORQ.EXRQ01DR(String sXML)
    This is driving me nuts.

    Steps that I have taken to date:
    Step 1: I temporarily add the ASPNET user to the administrators group to get
    the object registered in Component services.
    Outcome: The component registers correctly but the above exception is thrown.
    Step 2: I register the component using RegSvcs.
    Outcome: The component registers correctly but the above exception is thrown.
    Step 3: I rename the Interop.EXLORQTypeLibrary.dll to
    Interop.EXLORQTypeLibrary.dll.old.
    Outcome: The Exception is the same as above but only up to line 13.
    Step 4: Renaming the 3rd party dll (EXLORQ.dll) has no effect.
    Step 5: I tried registering the Interop.EXLORQTypeLibrary.dll using RegAsm
    to see if that would solve the error:
    Outcome: same as above.
    Step 6: Configured ASPNET registry permissions as stated in Article ID:
    327507 (Q327507) in MSDN.
    Outcome: Same as above.

    Any help would be VERY MUCH Apreciated.
     
    Guest, Apr 28, 2005
    #1
    1. Advertisements

  2. Guest

    Guest Guest

    You haven't set your COM+ application to run out of process have you?

    "W1ld0ne74" wrote:

    > I have rewritten a VB6 COM+ object using C# .Net. The object works as
    > expected and registers itself in COM+ on my PC, the development server and
    > even on the Test server. I did battle with this problem on the test server,
    > but it seemed to resolve itself. This problem however is not resolving itself
    > on the Production server.
    >
    > The COM+ object chats with a 3rd party dll (Registered using Regsrv32) via
    > an Interop proxy dll. All are in the same folder. "<webApp>\bin"
    >
    > Via a switch in the web.config file, I can set the application to use either
    > the VB6 or the .Net version. Both versions use the same 3rd party dll. The
    > VB6 version works. The .Net version throws the following exception:
    >
    > 1: Error Location:
    > http://logisonline.pwv.gov.za/logisonline/pages-rq/rq-view-select.aspx
    > 2: Error Source: PackRQ.Net
    > 3: Error Trace:
    > 4:
    > 5: > System.IO.FileNotFoundException: File or assembly name
    > Interop.EXLORQTypeLibrary, or one of its dependencies, was not found.
    > 6: > at System.Web.UI.Page.ProcessRequestMain()
    > 7: > at System.Web.UI.Control.LoadRecursive()
    > 8: > at System.Web.UI.Control.OnLoad(EventArgs e)
    > 9: > at System.EventHandler.Invoke(Object sender, EventArgs e)
    > 10: > at LogisOnline.WebForms.rq_view_select.Page_Load(Object sender,
    > EventArgs e)
    > 11: > at LogisOnline.WebForms.RequisitionForm.GetRequisitionMVS(String&
    > sAction)
    > 12: > at LogisOnline.Bob.RQ.Requisitions.GenericExec(XmlDocument& xmldRQ)
    > 13: > at PackRQ.Net.PackEXLORQ.EXRQ01DR(String sXML)
    > 14: > at
    > System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
    > Int32 type)
    > 15: > at
    > System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
    > msg, Int32 methodPtr, Boolean fExecuteInContext) Exception rethrown at [0]:
    > at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    > reqMsg, IMessage retMsg)
    > 16: > at
    > System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase
    > mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext,
    > Object[]& outArgs)
    > 17: > Server stack trace: at PackRQ.Net.PackEXLORQ.EXRQ01DR(String sXML)
    > This is driving me nuts.
    >
    > Steps that I have taken to date:
    > Step 1: I temporarily add the ASPNET user to the administrators group to get
    > the object registered in Component services.
    > Outcome: The component registers correctly but the above exception is thrown.
    > Step 2: I register the component using RegSvcs.
    > Outcome: The component registers correctly but the above exception is thrown.
    > Step 3: I rename the Interop.EXLORQTypeLibrary.dll to
    > Interop.EXLORQTypeLibrary.dll.old.
    > Outcome: The Exception is the same as above but only up to line 13.
    > Step 4: Renaming the 3rd party dll (EXLORQ.dll) has no effect.
    > Step 5: I tried registering the Interop.EXLORQTypeLibrary.dll using RegAsm
    > to see if that would solve the error:
    > Outcome: same as above.
    > Step 6: Configured ASPNET registry permissions as stated in Article ID:
    > 327507 (Q327507) in MSDN.
    > Outcome: Same as above.
    >
    > Any help would be VERY MUCH Apreciated.
     
    Guest, May 4, 2005
    #2
    1. Advertisements

  3. Guest

    Guest Guest

    I set it to be a server component (which does run out of process) Why do you
    ask though?

    David

    "James Mahoney" wrote:

    > You haven't set your COM+ application to run out of process have you?
    >
    > "W1ld0ne74" wrote:
    >
    > > I have rewritten a VB6 COM+ object using C# .Net. The object works as
    > > expected and registers itself in COM+ on my PC, the development server and
    > > even on the Test server. I did battle with this problem on the test server,
    > > but it seemed to resolve itself. This problem however is not resolving itself
    > > on the Production server.
    > >
    > > The COM+ object chats with a 3rd party dll (Registered using Regsrv32) via
    > > an Interop proxy dll. All are in the same folder. "<webApp>\bin"
    > >
    > > Via a switch in the web.config file, I can set the application to use either
    > > the VB6 or the .Net version. Both versions use the same 3rd party dll. The
    > > VB6 version works. The .Net version throws the following exception:
    > >
    > > 1: Error Location:
    > > http://logisonline.pwv.gov.za/logisonline/pages-rq/rq-view-select.aspx
    > > 2: Error Source: PackRQ.Net
    > > 3: Error Trace:
    > > 4:
    > > 5: > System.IO.FileNotFoundException: File or assembly name
    > > Interop.EXLORQTypeLibrary, or one of its dependencies, was not found.
    > > 6: > at System.Web.UI.Page.ProcessRequestMain()
    > > 7: > at System.Web.UI.Control.LoadRecursive()
    > > 8: > at System.Web.UI.Control.OnLoad(EventArgs e)
    > > 9: > at System.EventHandler.Invoke(Object sender, EventArgs e)
    > > 10: > at LogisOnline.WebForms.rq_view_select.Page_Load(Object sender,
    > > EventArgs e)
    > > 11: > at LogisOnline.WebForms.RequisitionForm.GetRequisitionMVS(String&
    > > sAction)
    > > 12: > at LogisOnline.Bob.RQ.Requisitions.GenericExec(XmlDocument& xmldRQ)
    > > 13: > at PackRQ.Net.PackEXLORQ.EXRQ01DR(String sXML)
    > > 14: > at
    > > System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
    > > Int32 type)
    > > 15: > at
    > > System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
    > > msg, Int32 methodPtr, Boolean fExecuteInContext) Exception rethrown at [0]:
    > > at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    > > reqMsg, IMessage retMsg)
    > > 16: > at
    > > System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase
    > > mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext,
    > > Object[]& outArgs)
    > > 17: > Server stack trace: at PackRQ.Net.PackEXLORQ.EXRQ01DR(String sXML)
    > > This is driving me nuts.
    > >
    > > Steps that I have taken to date:
    > > Step 1: I temporarily add the ASPNET user to the administrators group to get
    > > the object registered in Component services.
    > > Outcome: The component registers correctly but the above exception is thrown.
    > > Step 2: I register the component using RegSvcs.
    > > Outcome: The component registers correctly but the above exception is thrown.
    > > Step 3: I rename the Interop.EXLORQTypeLibrary.dll to
    > > Interop.EXLORQTypeLibrary.dll.old.
    > > Outcome: The Exception is the same as above but only up to line 13.
    > > Step 4: Renaming the 3rd party dll (EXLORQ.dll) has no effect.
    > > Step 5: I tried registering the Interop.EXLORQTypeLibrary.dll using RegAsm
    > > to see if that would solve the error:
    > > Outcome: same as above.
    > > Step 6: Configured ASPNET registry permissions as stated in Article ID:
    > > 327507 (Q327507) in MSDN.
    > > Outcome: Same as above.
    > >
    > > Any help would be VERY MUCH Apreciated.
     
    Guest, May 5, 2005
    #3
  4. Guest

    Guest Guest

    By setting it up as a server component it gets run inside of DLLhost.exe.
    Since this exists in windows\system32 instead of your bin folder .NET can't
    find the interop file because it starts probing for assemblies from
    windows\system32.

    To get around this you'll have to add the interop files into the GAC (check
    with the component vendor for their primary interop files...).

    You might also be able to edit machine.config to tell .NET where to find
    your components - never tried that though

    James

    "W1ld0ne74" wrote:

    > I set it to be a server component (which does run out of process) Why do you
    > ask though?
    >
    > David
    >
    > "James Mahoney" wrote:
    >
    > > You haven't set your COM+ application to run out of process have you?
    > >
    > > "W1ld0ne74" wrote:
    > >
    > > > I have rewritten a VB6 COM+ object using C# .Net. The object works as
    > > > expected and registers itself in COM+ on my PC, the development server and
    > > > even on the Test server. I did battle with this problem on the test server,
    > > > but it seemed to resolve itself. This problem however is not resolving itself
    > > > on the Production server.
    > > >
    > > > The COM+ object chats with a 3rd party dll (Registered using Regsrv32) via
    > > > an Interop proxy dll. All are in the same folder. "<webApp>\bin"
    > > >
    > > > Via a switch in the web.config file, I can set the application to use either
    > > > the VB6 or the .Net version. Both versions use the same 3rd party dll. The
    > > > VB6 version works. The .Net version throws the following exception:
    > > >
    > > > 1: Error Location:
    > > > http://logisonline.pwv.gov.za/logisonline/pages-rq/rq-view-select.aspx
    > > > 2: Error Source: PackRQ.Net
    > > > 3: Error Trace:
    > > > 4:
    > > > 5: > System.IO.FileNotFoundException: File or assembly name
    > > > Interop.EXLORQTypeLibrary, or one of its dependencies, was not found.
    > > > 6: > at System.Web.UI.Page.ProcessRequestMain()
    > > > 7: > at System.Web.UI.Control.LoadRecursive()
    > > > 8: > at System.Web.UI.Control.OnLoad(EventArgs e)
    > > > 9: > at System.EventHandler.Invoke(Object sender, EventArgs e)
    > > > 10: > at LogisOnline.WebForms.rq_view_select.Page_Load(Object sender,
    > > > EventArgs e)
    > > > 11: > at LogisOnline.WebForms.RequisitionForm.GetRequisitionMVS(String&
    > > > sAction)
    > > > 12: > at LogisOnline.Bob.RQ.Requisitions.GenericExec(XmlDocument& xmldRQ)
    > > > 13: > at PackRQ.Net.PackEXLORQ.EXRQ01DR(String sXML)
    > > > 14: > at
    > > > System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
    > > > Int32 type)
    > > > 15: > at
    > > > System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
    > > > msg, Int32 methodPtr, Boolean fExecuteInContext) Exception rethrown at [0]:
    > > > at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    > > > reqMsg, IMessage retMsg)
    > > > 16: > at
    > > > System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase
    > > > mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext,
    > > > Object[]& outArgs)
    > > > 17: > Server stack trace: at PackRQ.Net.PackEXLORQ.EXRQ01DR(String sXML)
    > > > This is driving me nuts.
    > > >
    > > > Steps that I have taken to date:
    > > > Step 1: I temporarily add the ASPNET user to the administrators group to get
    > > > the object registered in Component services.
    > > > Outcome: The component registers correctly but the above exception is thrown.
    > > > Step 2: I register the component using RegSvcs.
    > > > Outcome: The component registers correctly but the above exception is thrown.
    > > > Step 3: I rename the Interop.EXLORQTypeLibrary.dll to
    > > > Interop.EXLORQTypeLibrary.dll.old.
    > > > Outcome: The Exception is the same as above but only up to line 13.
    > > > Step 4: Renaming the 3rd party dll (EXLORQ.dll) has no effect.
    > > > Step 5: I tried registering the Interop.EXLORQTypeLibrary.dll using RegAsm
    > > > to see if that would solve the error:
    > > > Outcome: same as above.
    > > > Step 6: Configured ASPNET registry permissions as stated in Article ID:
    > > > 327507 (Q327507) in MSDN.
    > > > Outcome: Same as above.
    > > >
    > > > Any help would be VERY MUCH Apreciated.
     
    Guest, May 5, 2005
    #4
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Roy Osherove

    Re: Assembly dependancies

    Roy Osherove, Jun 28, 2003, in forum: Microsoft Dot NET
    Replies:
    0
    Views:
    611
    Roy Osherove
    Jun 28, 2003
  2. David Clegg

    Project references and circular dependancies.

    David Clegg, Mar 24, 2004, in forum: Microsoft Dot NET
    Replies:
    0
    Views:
    169
    David Clegg
    Mar 24, 2004
  3. Guest
    Replies:
    0
    Views:
    243
    Guest
    Apr 28, 2005
  4. Guest

    help with managing .dll dependancies

    Guest, Oct 11, 2005, in forum: Microsoft Dot NET
    Replies:
    4
    Views:
    169
    Guest
    Oct 12, 2005
  5. Daniel
    Replies:
    1
    Views:
    180
    RobinS
    Feb 13, 2007
Loading...

Share This Page