Solved

Visual Basic 6 installer - activex based

Posted on 2003-10-29
13
334 Views
Last Modified: 2013-11-25
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]
0
Comment
Question by:bertstevens
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
13 Comments
 
LVL 9

Expert Comment

by:bhagyesht
ID: 9648169
best would be to have a setup. let the user install it. your page just checks if your activex is present or not.
0
 
LVL 9

Expert Comment

by:bhagyesht
ID: 9648185
[webpage] - [javascript checks if component present]      
if yes->   *new page*  [webpage] - [ my current project]
if now -> download page/link
0
 

Author Comment

by:bertstevens
ID: 9648613
I'm not certain javascript can do all the needed checks, can you prove me it can?
0
Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

 
LVL 9

Expert Comment

by:bhagyesht
ID: 9648658
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
0
 
LVL 9

Expert Comment

by:bhagyesht
ID: 9648673
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.
<html>
<head>
<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}
-->
</style>      

<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;
}
//-->
</script>

</head>
      
<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">


</body>


<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>');
//-->
</script>
</html>
0
 

Author Comment

by:bertstevens
ID: 9648874
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.
0
 
LVL 9

Expert Comment

by:bhagyesht
ID: 9648923
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
http://www.garybeene.com/vb/tut-inet.htm
http://www.mentalis.org/vbexamples/vbexample.php?vbexample=FileDownloader
0
 

Author Comment

by:bertstevens
ID: 10815873
i found the answer myself, the comments didn't help me with my problem. I would say 100 points for bhagyesht
0
 
LVL 20

Expert Comment

by:Venabili
ID: 10961214
bertstevens,

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

Venabili
EE Page Editor
0
 

Author Comment

by:bertstevens
ID: 10961467
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.
0
 
LVL 1

Accepted Solution

by:
GhostMod earned 0 total points
ID: 11071647
PAQed, with points refunded (500)

GhostMod
Community Support Moderator
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
DCOM errors in Server 2016 2 147
Selenium docs api java index 3 69
Server 2016 installation on Dell r720 12 71
UPS Worldship 2017 on Windows 2008 R2 - (ET) 9 17
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
If you don't know how to downgrade, my instructions below should be helpful.
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question