Link to home
Start Free TrialLog in
Avatar of sushrut
sushrut

asked on

Deploying of Activex Documents

I have made an acivex document using VB 6 , which consists of one activex document exe,5 .VBD files and 5 supports DLL's provided by VB. I need to deploy it over the net.

Using VB packaging and deploying wizard, I created a internet deployment Cab. But when this .cab is deployed over the net using HTML, the client machine just opens up the .cab and client user has to register all the .DLLs and .Exes himself. Is there a way of automating this process.

Basically, these activex documents are to be used on intranet and it would be really bad to ask all the users to register these .DLLs and .EXE's, before they visit the link containing this activex documents
Avatar of PaulHews
PaulHews
Flag of Canada image

When you package the project using the Package and Deployment wizard, you have the option to create an internet download type of package.  This option creates the CAB and HTML file needed to install on the client when the HTML file is accessed.  

Many times this process does not work as advertised however...  Here are detailed instructions from MS on how to troubleshoot problems with the client installation:

This article shows a series of steps to check what is the problem:

http://support.microsoft.com/support/kb/articles/Q167/3/80.asp 

Hope this helps.

I always strongly recommend that people do *not* use this technology.  The problems far outweigh the conveniences.  Some of the installation problems are so severe that it requires going into regedit to fix them, so unless it is going to be a big problem for you or another IT guy to actually go to some of these client machines, use a more robust technology.
Avatar of sushrut
sushrut

ASKER

My .VBD files are working perfectly well. Only problem is that, the client has to register my activex document exe on his machine before, he could access my webpage .VBD files. Also, along with this, he also has to register a few .DLL's provided by VB. These may not been registered on his PC, if he has not installed Visula Studio. Now, using package and deployment wizard, if I include all those files in a .cab file, the client accessing my webpage does get the .cab file, but he needs to register these .Dll's on his machine by himself. Is there a way to automate this process?
Can't I directly register the DLL's on client's machine or can't I atleast check whether the required .DLL's are registered on the client machine?
Hi,

Perhaps you could look into Sharepoint:
http://www.microsoft.com/sharepoint/evaluation/overview/default.asp
or the OWC (Office Web Component:
http://support.microsoft.com/support/kb/articles/Q288/7/32.ASP
or consider using Lotus Notes:
http://www.govexec.com/tech/articles/0197int2.htm
or using PDF documents that eliminate many errors:
http://access.adobe.com/onlinetools.html

Enjoy
>Is there a way to automate this process?

It is supposed to be automatic.  What happens exactly when you try to access the site without installing the DLLs?
Avatar of sushrut

ASKER

Hi,
Let me give the details of what exactly is happening
I have made an activex document exe [ Best Practices.exe ]
Along with it there are 4 .VBD files [ frmLogin.VBD, frmBestPractices.VBD, frmModifyUser.VBD and frmUserPref.VBD ]
Also some existing microsoft files are used [ Racreg32.dll, Olepro32.dll, Oleaut32.dll, Odkob32.dll, Msvbvm60.dll, Msado15.dll, Comcat.dll, Autprx32.dll, Asycfilt.dll, Racmgr32.exe, Autmgr32.exe ]

All these files, except 4 .VBD files are included in the .CAB file generated by Package and deployment wizard. Now, the first form to be displayed in my application is frmLogin.VBD. So I wrote following HTML for including the .CAB and loading the frmLogin form,

<HTML>
<OBJECT ID="Best Practices.CAB"
CLASSID="http://mshir011/best/Best practices.CAB">
</OBJECT>
<SCRIPT LANGUAGE="VBScript">
Sub Window_OnLoad
Location.Href = "Best Practices.CAB"
End Sub
</SCRIPT>
<body>
<OBJECT ID="frmlogin"
CLASSID="http://mshir011/best/Best practices.exe">
</OBJECT>
<a href = "http://mshir011/best/frmlogin.VBD">frm</a>
</body>
</HTML>

This on load of the HTML page, the CAB file is opened and later when the link is clicked, the frmLogin.VBD is called. Now in this case the CAB file is only opened, but the DLL's it contains are not registered on the client machine. Am I doing something wrong. Is there another way to download the .CAB file on the client machine and registering the DLL's automatically?
Avatar of sushrut

ASKER

Hi,
Let me give the details of what exactly is happening
I have made an activex document exe [ Best Practices.exe ]
Along with it there are 4 .VBD files [ frmLogin.VBD, frmBestPractices.VBD, frmModifyUser.VBD and frmUserPref.VBD ]
Also some existing microsoft files are used [ Racreg32.dll, Olepro32.dll, Oleaut32.dll, Odkob32.dll, Msvbvm60.dll, Msado15.dll, Comcat.dll, Autprx32.dll, Asycfilt.dll, Racmgr32.exe, Autmgr32.exe ]

All these files, except 4 .VBD files are included in the .CAB file generated by Package and deployment wizard. Now, the first form to be displayed in my application is frmLogin.VBD. So I wrote following HTML for including the .CAB and loading the frmLogin form,

<HTML>
<OBJECT ID="Best Practices.CAB"
CLASSID="http://mshir011/best/Best practices.CAB">
</OBJECT>
<SCRIPT LANGUAGE="VBScript">
Sub Window_OnLoad
Location.Href = "Best Practices.CAB"
End Sub
</SCRIPT>
<body>
<OBJECT ID="frmlogin"
CLASSID="http://mshir011/best/Best practices.exe">
</OBJECT>
<a href = "http://mshir011/best/frmlogin.VBD">frm</a>
</body>
</HTML>

This on load of the HTML page, the CAB file is opened and later when the link is clicked, the frmLogin.VBD is called. Now in this case the CAB file is only opened, but the DLL's it contains are not registered on the client machine. Am I doing something wrong. Is there another way to download the .CAB file on the client machine and registering the DLL's automatically?
When you used the PDW to produce the package for distribution on the web server, it generated an HTML file to go with the UserDocuments and cab files.  Use that HTML file (or edit it to your own purposes if it isn't exactly what you want.)
Avatar of sushrut

ASKER

Hi,
   I had initially tried using the HTML file generated by PDW. But even that doesn't work. When I deploy that HTML in a web server and try accessing it in a client machine and click the link pointing to a .VBD file, it initially gives me a dialog box ( OPEN FROM CURRENT LOCATION OR SAVE TO DISK ). When I choose the OPEN FROM CURRENT LOCATION, it tries to load the choosen .VBD file, but is unsuccessful. Only when I explicitly register the activex document exe on the client machine ( By executing the exe on the client machine), the .VBD file is displayed properly. How do I handle this situation?
When it tries to download the .vbd file, it means there is a problem installing and registering the .exe and/or components.

Use the link I first gave you above to debug the problem.

http://support.microsoft.com/support/kb/articles/Q167/3/80.asp

Here is another link to help figure out what is the problem:

http://support.microsoft.com/support/kb/articles/Q252/9/37.ASP
Avatar of sushrut

ASKER

I have tried both links. Doesn't seem to help me much. In my case, there is no error displayed by internet explorer, when I try to access the .VBD file. Its just that, IE does not navigate to that file. When I click a link to access the .VBD file, the .VBD file is downloaded, but it is not opened by IE. No error is displayed. On a HTML page, when I click a link to open a .VBD file, the HTML page remains as it is. Only the corresponding .VBD file is downloaded, but it is not opened. I still remain on the same HTML page. Also when I right click on the link and say "OPEN IN A NEW WINDOW", the .VBD file is only downloaded, but not opened.
However, if I take the activex document exe [Best practices.exe] file from the server and run it on the client, the .VBD file link on the HTML page starts working . This activex document exe file is not downloaded, when the .VBD file is downloaded.
How do I go about it? Why is the activex document exe file downloaded along with other .VBD files?
ASKER CERTIFIED SOLUTION
Avatar of PaulHews
PaulHews
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of sushrut

ASKER

Hi Paul,
        Thanks for your help. I found the answer in one of the microsoft links. VB requires the binary compatibility option to be clicked, before PAD wizard is called. I don't know why it works that way. But, it did solve my problem.
        Thanks again.
Regards,