H
Hemant
At present, we're working on a C# 2005 proj in which we need to retrive the
original Outlook pst files and thoroughly parse them. The proj is about
maintaining a mirror-image of the original Outlook pst file which can be
sync'ed frequently (rather then creating a huge pst file backup).
The real problem is that we need to support Outlook version 2000 and later -
so we're in search of some 'generalized APIs' which can support all the
versions of Outlook. We've tried MAPI, CDO, mapi32.dll, mapi33.dll but none
are consistent and it seems a bit risky to move ahead with them. We also
found links about "Outlook Object Library" but again it is Outlook-version
specific.
There'er a lot of diff approaches and there're many code-snippets using diff
approaches to access Outlook/MAPI, like:
# OOL (Outlook Obj Lib) - though its version specific but if we can create a
dll for each version and then replace the dll as per the version installed on
user's machine then it might work. The quetion is - does it really have good
support for manipulating pst files?
# mapi33.dll & Outlook Redemption - Paid 3rd party options. mapi33.dll says
it is the most optimized approach but I'm not sure how compatible and stable
it is! The same is true for Outlook Redemption (but they have APIs for pst
files). Besides I'm also concerned about the security exceptions. Anything
you know?
# Pinvoke + mapi32.dll - In this approach we use the "Platform
Invoke"(Pinvoke) feature available in .net to access the mapi32.dll directly
(which is otherwise not possible because mapi32.dll is a native dll) - again
not sure how stable this is.
# Misc - Refer CDOSYS.dll, etc.. , 3rd Party tool AddinExpress, etc... but
they don't seem to provide such a magnitude when it comes to features.
I'm a newbie to Outlook programming and I see a lot of diff ways to move
ahead with this proj but from what I've been researching on the net - it
seems that some of the approach might be good initially but they break-down
later on! So, instead of me "reinventing-the-wheel" - if I could have a
little help I'll know in which direction can I dig further.
Any help and/or suggestions will be greatly appreciated.
original Outlook pst files and thoroughly parse them. The proj is about
maintaining a mirror-image of the original Outlook pst file which can be
sync'ed frequently (rather then creating a huge pst file backup).
The real problem is that we need to support Outlook version 2000 and later -
so we're in search of some 'generalized APIs' which can support all the
versions of Outlook. We've tried MAPI, CDO, mapi32.dll, mapi33.dll but none
are consistent and it seems a bit risky to move ahead with them. We also
found links about "Outlook Object Library" but again it is Outlook-version
specific.
There'er a lot of diff approaches and there're many code-snippets using diff
approaches to access Outlook/MAPI, like:
# OOL (Outlook Obj Lib) - though its version specific but if we can create a
dll for each version and then replace the dll as per the version installed on
user's machine then it might work. The quetion is - does it really have good
support for manipulating pst files?
# mapi33.dll & Outlook Redemption - Paid 3rd party options. mapi33.dll says
it is the most optimized approach but I'm not sure how compatible and stable
it is! The same is true for Outlook Redemption (but they have APIs for pst
files). Besides I'm also concerned about the security exceptions. Anything
you know?
# Pinvoke + mapi32.dll - In this approach we use the "Platform
Invoke"(Pinvoke) feature available in .net to access the mapi32.dll directly
(which is otherwise not possible because mapi32.dll is a native dll) - again
not sure how stable this is.
# Misc - Refer CDOSYS.dll, etc.. , 3rd Party tool AddinExpress, etc... but
they don't seem to provide such a magnitude when it comes to features.
I'm a newbie to Outlook programming and I see a lot of diff ways to move
ahead with this proj but from what I've been researching on the net - it
seems that some of the approach might be good initially but they break-down
later on! So, instead of me "reinventing-the-wheel" - if I could have a
little help I'll know in which direction can I dig further.
Any help and/or suggestions will be greatly appreciated.