Visual Basic 6 installer - activex based

I'm deploying a simple video conferencing application as a activex control (project type: visual basic document, loads in internet explorer).
The installation is now handled automaticly on load of webpage (thanks to package and delpoyment wizard, internet package).
Because of the large number of actions needed to install (large number of depencies) new builds cause trouble: the intaller can (for several reasons i.e. because some .ocx had anther id then the contol expects). Thereby the intall takes quite long without the user getting some visual feedback.

I'm not satisfied with the "silent" internet installation for the whole project. I'd loved to build a installer for the whole web app inside of a, tiny and errorfree (also) webbased, installer that DOES show the progres and checks for errors just like a normal installer. This approach is commonly used i.e. by online virusscanners.

So the idea is
[webpage] - [activex control that acts as installer/check]       ->   *new page*  [webpage] - [ my current project]
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

best would be to have a setup. let the user install it. your page just checks if your activex is present or not.
[webpage] - [javascript checks if component present]      
if yes->   *new page*  [webpage] - [ my current project]
if now -> download page/link
bertstevensAuthor Commented:
I'm not certain javascript can do all the needed checks, can you prove me it can?
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

javascript can check if the activex is installed if not installed javascript can redirect to a page where the installer is located. macromedia does this to check if the flashplayer is installed. substitute flash's guid with your activex's guid
use the navigator.plugins collection to check if your active x is present.

some code to help you

this is in vbscript but can easily convert in javascript this checks for flash plugin.
<title>Culturecom - Check Flash Plugin</title>

<style type="text/css">
a:active {  text-decoration: none}
a:hover {  text-decoration: none; color: #0099FF}
a:link {  text-decoration: none}
a:visited {  text-decoration: none}

<script language="JavaScript">
function MM_checkPlugin(plgIn, theURL, altURL, autoGo) { //v3.0
      var ok=false; document.MM_returnValue = false;
      with (navigator) if (appName.indexOf('Microsoft')==-1) ok=(plugins && plugins[plgIn]);
      else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1
            if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash;
            else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir;
            else ok=autoGo; }
      if (!ok) theURL=altURL; if (theURL) window.location=theURL;

<body onLoad="MM_checkPlugin('Shockwave Flash','solution.html','getswf.html',false);return document.MM_returnValue" bgcolor="#000000" text="#FFE718" link="#FFE718" vlink="#FFE718" alink="#FFE718" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">


<script name="Used by MM_checkPlugin" language="javascript">
with (navigator) if (appName.indexOf('Microsoft')!=-1 && appVersion.indexOf('Mac')==-1) document.write(''+
'<scr'+'ipt language="VBScript">\nOn error resume next\n'+
'MM_dir = (IsObject(CreateObject("SWCtl.SWCtl.1")) Or IsObject(CreateObject("Macromedia.ActiveShockwave.1")))\n'+
'MM_flash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))\n</scr'+'ipt>');
bertstevensAuthor Commented:
Still, i need an webbased installer/updater (with visual feedback) for the cases an older version is present. I'v looked around but i still haven't found something like that.

A programming example (internet control..) showing how to build an application updater in vb would be helpfull. Where the hardest part is probally getting the controls registered well, i still got problems understanding the typeid and guid usage of controls.
dont make it a web based installer. check if the version is the latest if not redirect the client to a page where there is an installer which he can download and install. the problem with the webbased installer is that if the user wants to install on his intranet on say 3 pc he will have to download it on every pc individually instead of this you can allow him to download the installer will first unregister the previous version and then register the new version leave the file name as the same so that the file will be overwritten.

comming to inet control its simple
examples are at
bertstevensAuthor Commented:
i found the answer myself, the comments didn't help me with my problem. I would say 100 points for bhagyesht

Please post your solution so you can take ANY points back. Thanks

EE Page Editor
bertstevensAuthor Commented:
The sollution for me was to use wise installmaster and build a webdeploy installation and set the option 'place in .cab' .  In a webpage then a fake object can be included with the codebase set the .exe in the cab. Using registerserver=yourexe.exe the exe then gets launched and the webdeploy thing then does the rest.
PAQed, with points refunded (500)

Community Support Moderator

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Languages-Other

From novice to tech pro — start learning today.