I would like to understand better what happens when a public interface of a serviced component changes

Suppose that I have a library activated serviced component. Suppose that I lock its version number ([assembly: AssemblyVersion("1.0.0")]) and installed the component into COM+ catalog (via regsvcs or just by running a client that uses it)

Now, suppose that I change the existing method or add a new method in the component

It appears that everything continues to run fine afer the change

I am not sure, though, if this is the way to do it. I always drop the component from COM+ catalog when the interface changes

Question is, do I need to? Is it really necessary

What exactly is going on with component when the interface changes

Thanks

-Sta

RE: Should I drop Library activated Serviced Component from COM+ when the interface changes? by nospam

nospam
Fri Feb 20 09:06:08 CST 2004

Hi Peter

I know that re-registering the assembly is a safe way to deal with it. I was just hoping for an answer from somebody at MS saying that this is a way of do it or not.. It seems contradict XCOPY deployment idea because after copying the assembly with changed interface, it is requried to drop it from COM+ catalog and run REGSVCS

What also strange, and I don't understan why it happens, is that even I don't re-register the assembly, it still works fine. At least for .NET clients

Thanks

-Sta


RE: Should I drop Library activated Serviced Component from COM+ when the interface changes? by v-phuang

v-phuang
Sun Feb 22 19:54:45 CST 2004

Hi Stan,

Thanks for your quickly reply!

Based on my knowledge, XCOPY deployment will not apply to all kinds of .NET
project. In order to make the serviced component runs properly on the
machine, registering serviced component is necessary, so that the COM
client can access it.

From Deploying .NET Applications Lifecycle Guide.

Side-by-Side Issues with Serviced Components
As you update your serviced components, or if you have a scenario where
multiple
versions of the same component are on the same computer, you can encounter
several issues caused by having these components installed side by side. To
help you
maintain your serviced components, you should adhere to the following
advice:
 Do not use globally unique identifiers (GUIDs) as the GuidAttribute class
or
ApplicationIDAttribute. Instead use the ApplicationNameAttribute. If you do
use a GUID, you need to hard code the GUID into the assembly, which requires
you to manually change this GUID if you update your component and have it
run alongside the original version; otherwise, the COM+ installation
overwrites
the settings for the earlier version.
 Remember that assembly versioning applies only to the assemblies
themselves,
not the COM+ application. There is no automatic way to version the
application
itself. If the newer version of a serviced component requires changes at the
COM+ application level that will break previous versions of the component,
then
you need to use the application name to indicate versioning by installing
the
newer version of the serviced component into its own COM+ application.

For detailed information, you may download the file referring to the link
below.

Deploying .NET Framework-Based Applications
http://www.microsoft.com/downloads/details.aspx?FamilyId=5B7C6E2D-D03F-4B19-
9025-6B87E6AE0DA6&displaylang=en


Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.


RE: Should I drop Library activated Serviced Component from COM+ when the interface changes? by v-phuang

v-phuang
Wed Feb 25 01:58:02 CST 2004

Hi Stan,

Did my suggestion help you?
If you still have any concern on this issue, please post here.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.