Hi,
This occurs because installing an automation add-in requires that a custom "CLSID{GUID}\Programmable" entry be made in the registry, which, when creating an automation add-in, is normally handled by including methods marked with the ComRegisterFunctionAttribute and ComUnregisterFunctionAttribute within your class. These classes are then registered when you run RegAsm on your assembly.
When using a Visual Studio Setup Package, however, the ComRegisterFunctionAttribute and ComUnregisterFunctionAttribute are quietly ignored. This occurs because the Setup Project runs RegAsm using the /regfile switch in order to generate a .reg file containing all of the required registry keys. It is this .reg file that is then utilized when the .msi package is run at the client site. The problem is that when RegAsm runs via the /regfile switch, the resulting .reg file does not contain any registry updates made by user-defined register functions (e.g., those marked with the ComRegisterFunctionAttribute and ComUnregisterFunctionAttribute).
As a result, your custom "CLSID{GUID}\Programmable" registry entry is not being created and, therefore, your automation add-in is not showing up in the automation add-ins list.
To remedy this situation, you must create your own, custom "CLSID{GUID}\Programmable" entry via another means. It is easiest to do this by making use of the Registry Editor section of the Setup Package.
Correctly handling all the steps for a Setup Package for an automation add-in is somewhat complicated. Fortunately, I have a step-by-step explanation of how to do this (as well as a more detailed description of why this is occurring) as an answer to the question: How to get COM Server for Excel written in VB.NET installed and registered in Automation Servers list.
Hope this helps!
Mike