So, your tool is part of a larger set and you want to replace it with a newer version that will be installed separately? One solution would be to remove the tool's entry in the ESRI Mx Commands component category. You would do this in your new tool's installer. However, I'm not sure exactly how that would affect things. Are your tools on a toolbar that you define via IToolbarDef? If so, you could write an extension that installs along with your new tool. Wire the extension to listen for the NewDocument and OpenDocument events. Inside these events, get a reference to the toolbar, remove the old tool and add your new tool.