Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>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 <a href="http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.comregisterfunctionattribute.aspx" rel="nofollow noreferrer"> ComRegisterFunctionAttribute</a> and <a href="http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.comunregisterfunctionattribute(VS.80).aspx" rel="nofollow noreferrer"> ComUnregisterFunctionAttribute</a> within your class. These classes are then registered when you run RegAsm on your assembly.</p> <p>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).</p> <p>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. </p> <p>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 <a href="http://msdn.microsoft.com/en-us/library/aa243964(VS.60).aspx" rel="nofollow noreferrer">Registry Editor</a> section of the Setup Package.</p> <p>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: <a href="https://stackoverflow.com/questions/1506858/how-to-get-com-server-for-excel-written-in-vb-net-installed-and-registered-in-aut/1506932#1506932">How to get COM Server for Excel written in VB.NET installed and registered in Automation Servers list</a>.</p> <p>Hope this helps!</p> <p>Mike</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload