By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,215 Members | 1,942 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,215 IT Pros & Developers. It's quick & easy.

distributing activex which needs installer

P: n/a
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
Jul 19 '08 #1
Share this Question
Share on Google+
1 Reply


P: n/a
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='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
Jul 19 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.