Classified Ads Application

### Troubleshooting FAQ

This document outlines common problems and solutions for troubleshooting the COM+ SDK Samples. If your questions are not answered here send them to the COM+ SDK team

The following categories are provided in this FAQ

- IIS
- COM+
- MSMQ
- Component Services
- Visual Basic Build Issues
- Visual C++ Build Issues

#### IIS Issues

Q: | When I try to start my website I get a message saying "The service could not be started because it is not correctly configured. Make sure that its server bindings do not conflict with other sites running on the same machine."
A: | IIS can have only one site bound to a given port as the default website. There are various mechanisms for hosting multiple websites on a single computer, but for the purposes of the sample applications, it is best to stop the default website and then you will be able to start the sample site.

#### COM+ Issues

Q: | When I create a subscriber filter, no event notifications are getting through
A: | Filter expressions are not validated when you enter them in the subscription property sheet and no error is returned to the publisher if you have an invalid expression, invalid expressions simply fail to pass the filter. Refer to the table below for common problems with event filters.

Q: | When I try to send the message using Queued Components I get error 70 "Permission Denied"
A: | You must disable security on the COM+ application when running MSMQ in workgroup mode. For more information see Development Constraints. You change change the MSMQ mode (Workgroup or Directory Services) using the MSMQ Mode Tool (Sample code is included)

Q: | When I try to use Queued Components nothing seems to work - I get a lot of strange errors showing up in the Application Event log from COM+
A: | This can happen when your registry is cluttered with old references to non existent DLL's with the same name. You may want to download and run the Regclean tool to correct this.

Q: | When I use Queued Components, my app appears to work correctly but no messages end up in the queue. Then when I check the event log I see error messages from COM+. How come it didn't report an error to my application?
A: | When calling a QC, a special recorder proxy is created. All calls made to the interface are recorded by this proxy until you release the interface. Once you release the interface, the recorder attempts to create an MSMQ message with the recorded data. If there is a failure in creating this message, there is no way to return an error to your program at that point because you have no released the interface. The only thing the recorder can do is write the error message to the error log.

Q: | When I try to use Queued Components I get Run-time error '-214368000 (80110600)'; Only COM+ applications marked "queued" can be created using the "queue" moniker.
A: | This happens when you failed to mark the host application as queued.

Q: | When I ran my application using QC no messages were placed in the queue. When I checked the error log I see an error message that says "A cryptographic function failed". How do I fix this?
A: | You need to renew your internal certificate. Open the MSMQ applet in control panel and click on the security tab. Then click on Renew Internal Certificate...

Q:

When I mark an application as Queued and click OK, I get a Catalog Error

> An error occurred while processing the last operation.
> Error code C00E0025
> The event log may contain additional troubleshooting information.

The error log says

> The run-time environment has detected the absence of a critical resource and has caused the process that hosted it to terminate.
> MQCreateQueue

A: | Error C00E0025 is MQ_ERROR_ACCESS_DENIED which means that there was a security violation reported by MSMQ when COM+ attempted to create message queues for the application. The most likely cause for this is that MSMQ is running in directory services mode and the user account does not have permission to create a public queue. There are two solutions, one is to grant the user permissions, the other is to change MSMQ to workgroup mode using the MSMQ Mode Tool

###### Filtering Problems and Resolutions

Possible Cause | What to check for
Parameter name mismatch | The name of the parameter must match exactly (including case)
Invalid operator | The expression did not use a supported operators (=, ==, !, !=, ~, ~=, <>)
String parameter value not quoted | You must quote string parameter values
Invalid use of logical operators | When combining terms with a logical operator, you must include the parameter name in both sides of the expression as in Message = "Hello World!" OR Message = "Hi World!" instead of Message = "Hello World!" OR "Hi World!"

#### MSMQ Issues

Q: | How can I tell if MSMQ is installed or running?

A:

You can check the Computer Management console.

To determine if MSMQ is installed

1. Start Computer Management from the Start menu under Programs / Administrative Tools / Computer Management.
2. Expand the Services and Applications node under Computer Management (local).
3. If MSMQ is installed you will see a node under Services and Applications.

To determine is MSMQ is running

1. Click on the Services node under Services and Applications.
2. Select Message Queuing in the list of services
3. If MSMQ is running, the toolbar will have the start button (>) grayed out and the stop button enabled. If it is not running the start button will be enabled and the stop button will be disabled.

Q: | How do I install MSMQ?

A:

To install MSMQ:

1. Start the Add/Remove Programs control panel applet.
2. Select Add/Remove Windows Components.
3. Check the box for Message Queuing Services.
4. Click Next.
5. For developer testing purposes you generally want to have a Message Queuing Server rather than a dependent client.

#### Component Services Issues

Q: | When I right click on an item in the component services explorer tree, the menu doesn't have the choice I want. I see a New option but not the New / Component or New / Subscription etc.
A: | The Microsoft Management Console (MMC) requires you to first select a node by clicking on it (to set the context correctly) prior to right clicking on it. If the context is not correct, you will get the right click menu from whatever node is currently selected.

Q: | When I try to shut down my COM+ application it doesn't shut down
A: | There are certain conditions where the presence of the VB IDE interferes with shutdown of the COM+ application. Exit VB and then try to shut down the application, it should shut down normally.

Q: | When I start my VB application, the ball does not spin and it looks like it is not running, though my code works as expected.
A: | This is a known bug when security for your application is disabled.

Q: | When I right click to shut down the application, it does not shut down.
A: | This can happen when VB is running on the same computer because VB is holding a reference to the module. Close VB and then try to shutdown the application.

#### Visual Basic Build Issues

Q: | When I try to compile the components I get a compile error "Can't find project or library"
A: | When you see this error, Visual Basic is telling you that a reference to another project is no longer valid or missing. VB will highlight the class that it is trying to compile. The most likely cause of this error with sample applications is that you did not build them in the correct order. For more information see Can't find project or library on MSDN.

#### Visual C++ Build Issues

Q: | When building the C++ components I get an error LINK : fatal error LNK1104: cannot open file "comsvcs.lib"
A: | These samples require the latest release of the Platform SDK.

© 2000 Microsoft Corporation. All rights reserved. Terms of Use.