Carlos Quintero blog

Visual Studio Extensibility with Add-ins

Visual Studio 2005/2008 managed add-ins using XML registration (.AddIn file) and unmanaged satellite DLLs

In my last entry I mentioned that I was investigating to use XML registration (.AddIn File) with my MZ-Tools add-in. Finally I was unable because it seems that Visual Studio 2005/2008 managed add-ins using XML registration don't support unmanaged satellite DLLs (created with C++) for custom pictures for commands. The .AddIn file doesn't support the SatelliteDllName and SatelliteDllPath tags whose equivalent entries in the Windows registry are used for addins using COM registration. For add-ins using XML registration, it seems that you need managed satellite DLLs (.resx file that generates a .resources file) that don't need XML tags to be located. Of course this complicates the scenario if your add-in needs to support VS.NET 2002/2003 with the same code base, because you need an unmanaged satellite DLL for VS.NET 2002/2003 and a managed satellite DLL for VS 2005/2008. So, I will keep using the COM registration and unmanaged satellite DLLs for all versions.

I don't understand this restriction, since COM/XML registration has nothing to do with satellite DLLs. The .AddIn file could have happily supported the SatelliteDllName/SatelliteDllPath tags for unmanaged satellite DLLs to ease backwards compatibility, but now it is too late and the damage is done.

MSDN: Walkthrough: Creating Managed Satellite DLLs
http://msdn.microsoft.com/en-us/library/e9zazcx5.aspx

Huizhong Long's WebLog: Displaying custom bitmap for VS add-in command button from satellite DLL
http://blogs.msdn.com/hlong/archive/2005/09/27/474522.aspx

All that said, I really hate satellite DLLs (managed or unmanaged), they should be totally unnecessary to provide custom pictures, and I would like to get rid of them:

Microsoft Connect: Custom pictures for commands using icons without satellite DLLs
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=114769

 

Published Wed, Oct 1 2008 2:45 by carlosq

Comments

# Visual Studio Links #76@ Thursday, October 02, 2008 6:56 AM

My latest in a series of the weekly, or more often, summary of interesting links I come across related to Visual Studio. Channel 9 Stuff: Visual Studio Team System 2010 Week on Channel 9! Bottom-up Design with Visual Studio Team System 2010 Architect

# MZ-Tools Articles Series (Updated): HOWTO: Creating custom pictures for Visual Studio .NET add-ins commands, buttons and toolwindows.@ Friday, June 26, 2009 6:48 AM

Recently I have migrated the next version of MZ-Tools for Visual Studio .NET that I am working on from

# The benefits of XCopy deployment@ Monday, August 10, 2009 11:26 AM

Normal 0 21 false false false FR X-NONE X-NONE There is a point about NDepend that keeps provoking debate

# re: Visual Studio 2005/2008 managed add-ins using XML registration (.AddIn file) and unmanaged satellite DLLs@ Friday, October 09, 2009 6:32 PM

I've gone through the walkthrough to create a managed satellite assembly a couple of times and it is not working.

I have tried using existing png and bmp files as well as creating new ones through the resource editor.

My project name is MyFirstAddin1, the assembly name is MyFirstVsAddin.  When i call al.exe should the /out parameter be set to the project or assembly name?

by Alvin Scott

# re: Visual Studio 2005/2008 managed add-ins using XML registration (.AddIn file) and unmanaged satellite DLLs@ Saturday, October 10, 2009 3:39 AM

Alvin,

See:

HOWTO: Creating custom pictures for Visual Studio .NET add-ins commands, buttons and toolwindows.

www.mztools.com/.../MZ2005007.aspx

by carlosq

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above: