views:

53

answers:

3

I have written a simple ActiveX control using Visual Studio 2010. I have registered this control on my development machine using regasm, and I can invoke the control in IE using Javascript's new ActiveXObject("...") functionality.

However, I now need to prepare my ActiveX control for deployment to the customer, and this is where I need assistance.

I would like to package the control so that IE simply prompts the user in the infobar to install the control.

I understand that I will need to obtain a code signing certificate so that my ActiveX control will be trusted.

My question is, what are the steps I need to work through to turn my code into a deployable unit of software? What role do CAB files, INF files, OSD files etc play in this? And how do I package up my control using Visual Studio 2010?

If there are any existing walk-through guides out there, I would be very grateful to be pointed in their direction - I haven't been able to find a comprehensive and easy-to-follow guide myself.

Many thanks.

+2  A: 

If your ActiveX is a single file then you can have it downloaded to the users by setting it in the object tag

<object classid="clsid:your-dll-classid" codebase="http://someurl/your.dll" ></object>

IE will download the file if it doesn't exists on the user's system.

ajay_whiz
A: 

To know more about packaging ActiveX control see MSDN

ajay_whiz
A: 

Thanks for your answers.

I tried using the OBJECT tag as suggested above. However, although IE prompts me to download and install the control, I get a Javascript error when I try to invoke a method on the control.

Using the "Code Download Error Log Viewer", it seems that the control is not being registered because the DllRegisterServer entry point was not found. Is this a method/attribute that needs to be added to my C# code?

My control works fine if I manually register it on my local machine using RegAsm, but getting it to register using the OBJECT tag is giving me problems.

Any help would be very much appreciated.

Leonard Marnham
My apologies; this should have been added as a comment to the previous answer.
Leonard Marnham