That's incorrect. A PIA is a strongly named interop assembly that you can
generate using Tlbimp as long as the file you are generating it from either
is a type library or has a type library in it as is the case with CDO. It
can also be done manually but I'm not messing with that. My problem is that
when I try to generate a PIA off CDO it looks for ADODB which is a
dependency and it can't find it. The documentation for generating PIAs with
Tlbimp covers referencing dependencies but I still haven't been able to
solve this problem so far. I'm gonna try generating my own adodb pia again,
explicitly give it the ADODB namespace and then see if I can generate the
CDO one which wants ADODB (referencing the adodb pia I made).

-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] On Behalf Of Vince P
Sent: Sunday, December 18, 2005 6:48 PM
To: [email protected]
Subject: Re: [ADVANCED-DOTNET] trying to generate a cdo primary interop
assembly (pia)

You can not generate a PIA of a COM library that isn't yours. Only the
publisher of the original COM object can generate a PIA.

You can of course generate a wrapper for a COM library by merely referencing
a COM object on the COM tab.  Which is the same method you would use to
reference a COM library for you which you installed a PIA.

So to make a long story short, just reference the COM library on the COM tab
and if you have the PIA installed properly, it will be used as the wrapper.
If there is no PIA, the Visual Studio will make a wrapper assembly for you.

In your project's references if you view the properties of the COM
references , there should be a property that tells you if the wrapper is a
PIA

-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] On Behalf Of Alex Smotritsky
Sent: Sunday, December 18, 2005 5:21 PM
To: [email protected]
Subject: [ADVANCED-DOTNET] trying to generate a cdo primary interop assembly
(pia)

I'm trying to generate a cdo pia using Tlbimp and keep getting the error:



Referenced type library 'ADODB' does not have a primary interop assembly
registered.



There is an ADODB assembly in my gac. I've also tried referenceing
C:\Program Files\Microsoft.NET\Primary Interop Assemblies\adodb.dll and have
successfully created my own adodb pia from the Microsoft adodb com object
but have not been able to generate a cdo pia because I always get that
error.






===================================
This list is hosted by DevelopMentor.  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

===================================
This list is hosted by DevelopMentor.  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to