Hello Dave,
yes, you're right the Visual Studio creates the unsigned PIA's
automatically for you behind the scenes, if you import an COM object
where no PIA's in the GAC.
However I prefere to create my PIA's for thos COM Objects by myself with
the TLBIMP tool and sign this PIA's, because if i want to expose my AddIn
as COM Object it needs a strong name.
And i can't create a strong named assembly if i have unsigned PIA's -
right ?.
o.k. i can let VS sign the assemblies automatically.
But why create a PIA on every build ?
There are always more ways to success...
--
Freundliche Grüße / with regards
Helmut Obertanner
Technical Consultant
Softwaredevelopment
DATALOG Software AG | Zschokkestr. 36 | D-80687 Munich
web:
www.datalog.de
... and IT works!
Interop never requires PIA's. It is suggested that you use them
whenever available since your assemblies cannot be signed unless the
Interop assemblies your referencing are signed too. Also, PIA's are
sometimes fine-tuned to either perform better or port-over functions in
a fashion which better suits programming on the .NET platform.
If your not signing your assembly (and you don't required it to be in
the GAC), then you can make your own wrapper.
There is a command line utility you can use to make the Interop wrapper:
[VS.NET install directory]\SDK\v*\Bin\TlbImp.exe (Type Library
Importer)
...or you can let VS.NET handle it for you:
Project > Add Reference > COM > [Select the library]
VS.NET will create a wrapper, unsigned, for your project to reference.
It uses the utility mentioned above behind the scenes to create it.
I've had much success automating Excel 2000 and 2003 using this method.
The extensibility interface that you need should be wrapped for you if
you chose the appropriate type library (the library that contains that
interface) from the COM list when adding a reference to your project.
You will not have to create it manually, although that would be possible
to.
Create a class, implement the said interface, and register it for COM as
I've stated in a previous post on this thread and you should be good to
go.
--
Dave Sexton
[email protected]
-----------------------------------------------------------------------
Hello TC,
yes it's fully supported and the VS Wizard creates the implementation
for you automatically.
The problems are the PIA' sto access the Outloko COM Object Modell.
--
Freundliche Grüße / with regards
Helmut Obertanner
Technical Consultant
Softwaredevelopment
DATALOG Software AG | Zschokkestr. 36 | D-80687 Munich
web:
www.datalog.de
... and IT works!
Hey Guys,
I'm particulary interested in the IDTExtensibility2 Interface.
Can this be implemented in C# or VB.Net when using Office 2000?
Regards,
TC
Hello Dave,
when you want to develop with managed code wich is compatible for
Outlook2000, you have to build your own PIA's or use latebinding.
--
Freundliche Grüße / with regards
Helmut Obertanner
Technical Consultant
Softwaredevelopment
DATALOG Software AG | Zschokkestr. 36 | D-80687 Munich
web:
www.datalog.de
... and IT works!
Hello,
I have been handed the task of porting a COM addin for Outlook
written in VB6 that is compatible with Outlook 2000 and later to
.Net.
Consequently, I was wondering the following:
When building a COM addin for Outlook via .Net, is the .Net Interop
required?
I ask because I know that the .Net Interop is only functional with
Office XP and later.
The above said, is there a way to build a .Net COM compatible
assembly that will work with Outlook 2000 and later?
Regards,
TC