PC Review


Reply
Thread Tools Rate Thread

COM+ Dependancies: System.IO.FileNotFoundException

 
 
=?Utf-8?B?VzFsZDBuZTc0?=
Guest
Posts: n/a
 
      28th Apr 2005
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/logiso...ew-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.
 
Reply With Quote
 
 
 
 
=?Utf-8?B?SmFtZXMgTWFob25leQ==?=
Guest
Posts: n/a
 
      4th May 2005
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/logiso...ew-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.

 
Reply With Quote
 
 
 
 
=?Utf-8?B?VzFsZDBuZTc0?=
Guest
Posts: n/a
 
      5th May 2005
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/logiso...ew-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.

 
Reply With Quote
 
=?Utf-8?B?SmFtZXMgTWFob25leQ==?=
Guest
Posts: n/a
 
      5th May 2005
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/logiso...ew-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.

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off



Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 09:09 AM.