Discussion:
MSMQ issue with Mutli-Tiered solution
(too old to reply)
Brian.Net
2008-09-10 14:12:10 UTC
Permalink
I have a muti-tiered solution written in VB 6.0 that I'm having some issues
with, here's how the app works:

On the server side is the Core.dll. This .dll allows communication to the
mainframe and drops messages into a MSMQ queue. The messages in the queue are
moved to a SQL database by a Windows Service. I have a reference to the MSMQ
3.0 library in the Core.dll. The Core.dll is accessed through COM+ by the
client side Service.dll.

The client side Service.dll does no logging, it simply provides access to
the server side Core.dll to send and recieve messages to the mainframe. The
Service.dll does not have reference to MSMQ and the client side PCs do not
have MSMQ installed.

I get a 'Permission denied' error on one client side test PC and an 'ActiveX
cannot create object' error on a different client side test PC. I do have
MSMQ installed on one development PC and running a client side test on that
box I do not get errors.

I don't use MSMQ on the client side so I not believe that I have to have
MSMQ installed on the client PCs in order for the client side Service.dll to
work. Am I wrong? Do I really have to have MSMQ on the clent PC or is there
something else going on here that is not MSMQ related causing the problem?
--
Thanks,

Brian
--
Thanks,

Brian
Frank Boyne
2008-09-10 23:50:08 UTC
Permalink
Post by Brian.Net
I get a 'Permission denied' error on one client side test PC and an 'ActiveX
cannot create object' error on a different client side test PC.
It sounds like your client program is having trouble accessing your COM+
objects - or possibly some other COM object unrelated to your service.
If possible, I'd suggest stepping through your client program in a
debugger so you can pin down which statement is being executed when the
"Permission Denied" or "cannot create object" error is issued. A more
time consuming approach would be to scatter message box statements
through the client code or some other debugging technique to pin down
the error.

You may have one error with two different symptoms or you might have two
completely different errors on your two PCs.
Post by Brian.Net
MSMQ installed on one development PC and running a client side test on that
box I do not get errors.
Nothing's impossible, but MSMQ is most likely not the significant
factor. I'd be more inclined to suspect the fact that it is a
development PC - having various development tools installed means the PC
has all sorts of interesting DLLs installed that typical PCs do not -
debug versions of the VB run time for example.
Post by Brian.Net
I don't use MSMQ on the client side so I not believe that I have to have
MSMQ installed on the client PCs in order for the client side
Service.dll to
work. Am I wrong?
No. From what you've described you shouldn't need MSMQ installed.
Unless your COM+ object passes back an MSMQ object (such as a message or
queue) as an output parameter or result?
Post by Brian.Net
Do I really have to have MSMQ on the clent PC or is there
something else going on here that is not MSMQ related causing the problem?
I don't think you need MSMQ installed, but you really need to pin down
what ActiveX object is not being created before you can figure out why
it isn't being created.
John Breakwell (MSFT)
2008-09-11 11:39:04 UTC
Permalink
Hi Brian,

I am not sure how a 'Permission denied' error maps to the need to have MSMQ
installed. That sounds more like an issue with the account you are logged
onto the machine with. An easy test would be to install MSMQ on the problem
machines and see if the problem goes away - I would be surprised if it did
based on what you have described.

You say you are using COM+. So you have an application installed in
Component Services and have exported an application proxy to install on the
client test machines? What roles are configured on the components?

Some error logging in your code would help to troubleshoot this problem.

Cheers
John Breakwell (MSFT)
Post by Brian.Net
I have a muti-tiered solution written in VB 6.0 that I'm having some issues
On the server side is the Core.dll. This .dll allows communication to the
mainframe and drops messages into a MSMQ queue. The messages in the queue are
moved to a SQL database by a Windows Service. I have a reference to the MSMQ
3.0 library in the Core.dll. The Core.dll is accessed through COM+ by the
client side Service.dll.
The client side Service.dll does no logging, it simply provides access to
the server side Core.dll to send and recieve messages to the mainframe. The
Service.dll does not have reference to MSMQ and the client side PCs do not
have MSMQ installed.
I get a 'Permission denied' error on one client side test PC and an 'ActiveX
cannot create object' error on a different client side test PC. I do have
MSMQ installed on one development PC and running a client side test on that
box I do not get errors.
I don't use MSMQ on the client side so I not believe that I have to have
MSMQ installed on the client PCs in order for the client side Service.dll to
work. Am I wrong? Do I really have to have MSMQ on the clent PC or is there
something else going on here that is not MSMQ related causing the problem?
--
Thanks,
Brian
--
Thanks,
Brian
Loading...