Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I'll do my best to ask my question. I develop a number of COM-based libraries for use within custom arcmap dlls (using ArcGIS 9.3.1 SP2, .NET 2008 C#). These would include a custom arcobjects "helper" library. The issue is how best to deploy and manage these common dlls. The safest way seems to have the setup program create a folder for each application and have it include all of the supporting dlls needed for that application. This has been successful for years but I wonder if this is the best practice for COM-based libraries? On a deployment PC, there would be multiple copies of the custom "helper" library (for example), some with different versions but so far, the same GUID and strong-named. Is it possible (or even advisable) to use a single deployment of common dll? If I can be pointed to an article or white paper or something that talks about this, that would be great too. Thanks.

share|improve this question

1 Answer 1

up vote 2 down vote accepted

If your .NET shared library contains any types registered with COM, then yes, a single deployment location is the way to go. After all, a single class GUID can only point to a single codebase location when registered in the system registry.

This will not work if you have multiple versions of the same COM component, though. In this case, you might consider registration-free COM deployment.

When developing your shared library in .NET, it is best to avoid having any COM-registered types in it. If you do not need to consume them from COM, you can keep them in pure .NET. Deployment in the GAC works well in such scenarios.

share|improve this answer
    
+1 Good answer. I'd be interested in hearing a good practice that assures arcobjects extensions get uninstalled when arcgis is uninstalled. I've had problems uninstalling extensions after 9.3.1 is uninstalled. gis.stackexchange.com/questions/1510/… –  Kirk Kuykendall Feb 17 '11 at 23:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.