distributing activex which needs installer

  • Thread starter Thread starter tuvman
  • Start date Start date
T

tuvman

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='DownloadDeployer.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
 
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)
 
Back
Top