View Full Version : COM+ Registration fails if .NET 1.1 and 2.0 both installed on target machine

03-10-2006, 06:04 AM

we're installing some COM+ Servers through our setup. We ran into problems when .NET 2.0 is installed beside .NET 1.1 on the target machine. The registration fails during ISComponentServicesInstall.

If we unistall .NET 2.0 the installation works fine. If testet this also with InstallShield 11.5 and i got the same error.

Does anybody have an idea how i prevent InstallShield from using .NET 2.0 for registration instead of .NET 1.1

Thanks for your help

03-15-2006, 01:55 PM
Can you successfully register your .NET assembly using .NET 2.0 version of RegSvcs.exe on the machine in question?

I am able to register my .NET 1.1 compatible assembly to the Component Services on the machine that has .NET 1.1 and 2.0 installed using InstallShield.

InstallShield calls System.EnterpriseService.RegistrationHelper.InstallAssembly() method through COM Interop in order to register .NET assemblies to COM+ applications. I am wondering if it is a COM interop issue or .NET 2.0 COM+ registration service issue.


03-16-2006, 04:42 AM
Our Assembly seems not to be .NET 2.0 compatible, because the registration fails with regsvcs.exe.

So all our .NET 1.1 COM+ Assemblies must be 2.0 compatible, otherwise InstallShield won't install it.

03-17-2006, 12:24 AM
I have no problems with registering my .NET 1.1 compatible assembly using .NET 2.0 version of regsvcs.exe. Did you receive any specific error from the .NET 2.0 COM+ registration service so you can figure out why your registration fails?

03-17-2006, 09:38 AM
"binary format of the specified custom attribute is invalid" that what regsvcs.exe says.

03-17-2006, 05:33 PM
Would it be possible for you to email me your .NET assembly in question at hidenoriy@macrovision.com? I would like to take a look it to see if there is something we can do for InstallShield to get it work around.

Thank you.

03-20-2006, 07:15 AM
No sorry, i can't send you the assembly. My boss doesn't like that idea ;-).

But in the meantime we fixed the problem. One of our classes had a Attribute System.Data.IsolationLevel which worked fine with .NET 1.1. After we removed this Attribute we're able to register our assembly with .NET 1.1 und 2.0

But thank you for your effort.