locked
Deploy ActiveX control by MSI RRS feed

  • Question

  • I have an ActiveX control that i would like to register on a few hundred PCs. One way to do this is to create my own MSI which has the ActiveX control. I did read this http://support.microsoft.com/Default.aspx?id=280579 but the option is only valid possibly for older versions??

    I've never done this before so could someone guide me or point me to an aricle hat would walk me through this using Visual Basic .Net (2008)?

    Thanks
    Tuesday, May 5, 2009 2:14 PM

Answers

  • Hi EssCee,

    Using MSI installer to deploy an ActiveX control is straight forward. The following are the steps:
    1. Create a Setup project in Visual Studio 2008.
    2. Add the ActiveX control DLL file into this Setup project.
    3. Selec the ActiveX DLL file in Solution Explorer and switch to Properties window.
    4. Select vsdrfCOM for the Register property.

    Build the Setup project and VS will extract and write COM registry entries for the ActiveX control into the resulted MSI package. When you install this MSI package, the ActiveX control DLL file will be copied to the wtarget machine and the registry entries will be added to the Registry.

    Hope this helps.

    Sincerely,
    Linda Liu


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. end us any feedback you have about the help from MSFT at fbmsdn@microsoft.com.
    • Marked as answer by EssCee Saturday, May 16, 2009 12:38 PM
    Wednesday, May 13, 2009 4:42 AM

All replies

  • Hi EssCee,

    Using MSI installer to deploy an ActiveX control is straight forward. The following are the steps:
    1. Create a Setup project in Visual Studio 2008.
    2. Add the ActiveX control DLL file into this Setup project.
    3. Selec the ActiveX DLL file in Solution Explorer and switch to Properties window.
    4. Select vsdrfCOM for the Register property.

    Build the Setup project and VS will extract and write COM registry entries for the ActiveX control into the resulted MSI package. When you install this MSI package, the ActiveX control DLL file will be copied to the wtarget machine and the registry entries will be added to the Registry.

    Hope this helps.

    Sincerely,
    Linda Liu


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. end us any feedback you have about the help from MSFT at fbmsdn@microsoft.com.
    • Marked as answer by EssCee Saturday, May 16, 2009 12:38 PM
    Wednesday, May 13, 2009 4:42 AM
  • Ok but what if you want to deploy and install the control to internet explorer (so it doesnt popup that the user needs to install the activeX control from inside the browser) ?

    Please let me know.

    Thanks,
    Ryan
    Monday, June 1, 2009 12:18 AM
  • Hello,


       Despite all the contradictory and outdated activeX documentation at ms we finally got the signed dll wrapped in a signed msi wrapped in a signed  cab to partially deploy with ie8.

    Unfortunately despite all the signing and the administrator approved activation, the ActiveX still can't run when invoked from ie8 on an approved web site.

    Worse is the ActiveX works if we launch it on our computer as a standalone application.
    If the same html page is launched on a trusted web site,  ie8 refuses to run the ActiveX stating the classic dead end street msg: "internet explorer has blocked this site from using an activex control in an unsafe manner." There isn't even an option to run the ActiveX if you are an Administrator !

    At the cost of repeating ourselves, the dll was signed, the msi was signed, the cab was signed (all verisign certificate) and the website was approved by an administrator. Asking our customers to recognize us as trustworthy, is the MAXIMUM we can expect from our customers as they will certainly not go out of their way and change their standard security settings to run an activeX.

    Could you please explain how this new ie8 ms mess can be solved pls ?

    Thanking you in advance.
    kind regards,
    Massimo.



    Thursday, December 24, 2009 11:01 AM
  • Same problem here. Strong-named signed DLL (built with VB.NET/VS2010) within a signed MSI within a signed CAB and getting DEP errors when installing it in IE8. Once installed, though, it's fine.

    The workaround in IE8 is to turn off DEP ("Enable memory protection to help mitigate online attacks") in Internet Options | Advanced.

    Unfortunately this isn't a reasonable thing to expect users to do and on Vista & Win7 you can only change this option if you're running IE as an administrator.

    Microsoft Support couldn't recreate this (but I can on multiple machines with WinXP & Vista) but there's plenty of evidence on internet forums that people are having this problem.

    Anyone from MS care to comment on this?

    Monday, April 19, 2010 10:44 AM
  • Hello,


       Despite all the contradictory and outdated activeX documentation at ms we finally got the signed dll wrapped in a signed msi wrapped in a signed  cab to partially deploy with ie8.

    Unfortunately despite all the signing and the administrator approved activation, the ActiveX still can't run when invoked from ie8 on an approved web site.

    Worse is the ActiveX works if we launch it on our computer as a standalone application.
    If the same html page is launched on a trusted web site,  ie8 refuses to run the ActiveX stating the classic dead end street msg: "internet explorer has blocked this site from using an activex control in an unsafe manner." There isn't even an option to run the ActiveX if you are an Administrator !

    At the cost of repeating ourselves, the dll was signed, the msi was signed, the cab was signed (all verisign certificate) and the website was approved by an administrator. Asking our customers to recognize us as trustworthy, is the MAXIMUM we can expect from our customers as they will certainly not go out of their way and change their standard security settings to run an activeX.

    Could you please explain how this new ie8 ms mess can be solved pls ?

    Thanking you in advance.
    kind regards,
    Massimo.



    Again same problem and, as I see, no answer.

    To sum up:

    1) the activeX control and ALL related DLL's are signed. It is developed in C++ using VS 2008.

    2) the msi installer IS signed

    3) the activeX control works fine when included into applications like Office 2007 or 2010 using the Developer Tab

     

    Regardless of that, IE8 keep complaining that "internet explorer has blocked this site from using an activex control in an unsafe manner"... what is unsafe is actually impossible to know.

    We are somewhat bound on using the MSI stand alone installer because our ActiveX is a complex 3D Real-Time player that has to ensure that the target computer has the latest version of DirectX and VC Runtime installed. Furthermore is also compatible with Gecko-powered browsers (needless to say, it works just fine on that part) so a "install once play anywhere" solution was our best bet.

    Please, any help is welcomed.

    Luca

    Wednesday, November 17, 2010 5:56 PM