Discussion:
distributing activex which needs installer
(too old to reply)
tuvman
2008-07-19 14:20:32 UTC
Permalink
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?
rob^_^
2008-07-21 21:40:45 UTC
Permalink
Hi tuvman,

There is a CAB SDK available on your MSDN subscription if you have one. (I
assume you or your company would have a valid MSDN subscription as you are
developing with VS.)

Go to the MSDN downloads page and look in the SDK's section.

There is also a MSI SDK from memory.

Regards.
Post by 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?
Loading...