Deploying an Excel UDF?

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.

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.

I followed the procedure you have described but still no luck. MY GUID appears in the registry editor list under CLSID but the dll does not appear in the list of automation addins – Sandy Jan 25 '10 at 6:45 1 I don't know what to say, other than you must follow those instructions very carefully. If you do, you should see a "CLSID{GUID}\Programmable" entry in the registry, which is the key.

Make sure that this is the case, and, if not, try to follow the instructions again, as discussed here: stackoverflow. Com/questions/1506858/… – Mike Rosenblum Jan 25 '10 at 12:40 @Mike Can GUID here be anything? Say I can have such a GUID, "{ExcelAutomationFunction}", can't I?

– woodykiddy Aug 31 at 5:48 1 @woddykiddy - I think that using the result from Visual Studio's GUID generator would be a better idea! :) – Mike Rosenblum Sep 15 at 22:57.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions