B
Brian
OK, I'm interested in how everyone feels about COM Add-ins vs VSL's. I've
spent the last two months getting my COM Add-in to work only to get to the
end and think that I need to switch to a VSL.
I avoided VSL's because I didn't want to write anything that had to
communicate through C++, since I'm not that good at it. So, I went down the
managed Addin road. Now that I'm here and getting my code out to some users
machines I found that my code won't run. I isolate this down to a users
computer with a high security setting (forced by their IT department) and
find that managed Addins are called in through the mscoree.dll, which is a
Microsoft dll used for calling managed addins. This dll is not signed so
when the security is high, no managed addins run unless they're signed. How
to get around this? There's a very well documented C++ "Shim" that you use
to call your dll (very good article at
http://msdn.microsoft.com/library/d...ry/en-us/dnout2k2/html/odc_outlookcomshim.asp).
You get the C++ sample code, a $400 verisign certificate, compile things,
sign it with a verisign cert, and now avoid the security dialogs. This
actually works but this new "Shim" has HORRIBLE performance. Before the shim
I click on a button to draw some stuff and it's under a second. Now it takes
28 seconds!? I've isolated it down to setting cell values...
Is there some horrid marshalling that happens now because the code is signed
or because I'm going from unmanaged to managed code? You'd think that this
would be more efficient, not less.
Now that I'm having to depend on a C++ project to communicate with my code
I'm thinking I might as well do a VSL now...
Any opinions on this from anyone?
Brian
spent the last two months getting my COM Add-in to work only to get to the
end and think that I need to switch to a VSL.
I avoided VSL's because I didn't want to write anything that had to
communicate through C++, since I'm not that good at it. So, I went down the
managed Addin road. Now that I'm here and getting my code out to some users
machines I found that my code won't run. I isolate this down to a users
computer with a high security setting (forced by their IT department) and
find that managed Addins are called in through the mscoree.dll, which is a
Microsoft dll used for calling managed addins. This dll is not signed so
when the security is high, no managed addins run unless they're signed. How
to get around this? There's a very well documented C++ "Shim" that you use
to call your dll (very good article at
http://msdn.microsoft.com/library/d...ry/en-us/dnout2k2/html/odc_outlookcomshim.asp).
You get the C++ sample code, a $400 verisign certificate, compile things,
sign it with a verisign cert, and now avoid the security dialogs. This
actually works but this new "Shim" has HORRIBLE performance. Before the shim
I click on a button to draw some stuff and it's under a second. Now it takes
28 seconds!? I've isolated it down to setting cell values...
Is there some horrid marshalling that happens now because the code is signed
or because I'm going from unmanaged to managed code? You'd think that this
would be more efficient, not less.
Now that I'm having to depend on a C++ project to communicate with my code
I'm thinking I might as well do a VSL now...
Any opinions on this from anyone?
Brian