distributing activex which needs installer

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • tuvman

    #1

    distributing activex which needs installer

    I just finished writing an activeX in .net. The ActiveX requires that
    various other COM components be installed before running. We found
    that IE already has a mechanism for running an installer if an ActiveX
    is not installed by using the codebase parameter.

    <object name="secondobj " style='display: none' id='TestActivex '
    classid='CLSID: A47C22B1-3CC3-45bc-801E-3FCC4FFD3E45'
    codebase='Downl oadDeployer.cab #version=1,0,0, 0'>
    </object>

    The docs say that the codebase parameter usually points to a single
    install file. Usually it's a CAB file which unlikes EXEs cannot
    download the .net framework on demand or execute post install actions
    like executing the script which gives the activex fulltrust.

    It seems that we can't have codebase point to the setup.exe because
    then it would be missing the .msi file (and if we point to the .msi it
    would need the exe file to download the prerequisites!) We are
    researching a way where the CAB would include the exe,msi and the INF
    file which describes the cab file would execute the EXE after the cab
    is extracted.

    Is this a good solution, or is there another simpler way to prompt the
    user to run the installer the first time they visit the webpage?

    best,
    Tuviah
  • bruce barker

    #2
    Re: distributing activex which needs installer

    you are correct, IE will only install a single dll. there are two common
    approaches

    1) link to a full setup
    2) have a simple c/c++ dll that acts as a proxy, and is able to download
    and install the actual dll's.

    note: as your base com object is written in .net, IE will run it a
    sandbox that will not allow to call other com objects (unmanged code).
    the users will need to set the trust on the component, so be sure to add
    this to the install script. as you will be marking your compoenent "safe
    for scripting", be sure its safe.

    -- bruce (sqlwork.com)

    tuvman wrote:
    I just finished writing an activeX in .net. The ActiveX requires that
    various other COM components be installed before running. We found
    that IE already has a mechanism for running an installer if an ActiveX
    is not installed by using the codebase parameter.
    >
    <object name="secondobj " style='display: none' id='TestActivex '
    classid='CLSID: A47C22B1-3CC3-45bc-801E-3FCC4FFD3E45'
    codebase='Downl oadDeployer.cab #version=1,0,0, 0'>
    </object>
    >
    The docs say that the codebase parameter usually points to a single
    install file. Usually it's a CAB file which unlikes EXEs cannot
    download the .net framework on demand or execute post install actions
    like executing the script which gives the activex fulltrust.
    >
    It seems that we can't have codebase point to the setup.exe because
    then it would be missing the .msi file (and if we point to the .msi it
    would need the exe file to download the prerequisites!) We are
    researching a way where the CAB would include the exe,msi and the INF
    file which describes the cab file would execute the EXE after the cab
    is extracted.
    >
    Is this a good solution, or is there another simpler way to prompt the
    user to run the installer the first time they visit the webpage?
    >
    best,
    Tuviah

    Comment

    Working...