Randem Systems Support Board

InnoScript => InnoScript - General Questions, Report Bugs, Problems etc... => Topic started by: Tanner (Unregistered Guest) on December 18, 2004, 04:39:46 AM

Title: VB6 and MDAC
Post by: Tanner (Unregistered Guest) on December 18, 2004, 04:39:46 AM
Hi,
 
Using VB6,  I developed an application which needs to access Excel files for Read-Only purposes. It retrieves the raw Excel data into an ADO recordset and process it there.
 
For the connection I used:
 
Set MyConn = New ADODB.Connection
   
MyConn.OPEN Driver={Microsoft Excel Driver (*.xls)}; &  FIL=excel 8.0; &  .....
 
and referenced:  
 
Microsoft ActiveX Data Objects 2.0 Library.
 
I expect my application to run on all Windows platforms starting with Windows '98, where Microsoft Office and/or VisualBasic may not be installed.
 
I initially tried to make it simple so as not to face difficult deployment problems. That's why I preferred Excel Driver, rather then Provider = Microsoft.Jet.OLEDB.4.0 method.
 
When I run InnoScript, it suggested  to reference and install  msado20.tlb only.
 
Source: d:1sourcemsado20.tlb; DestDir: {cf}SystemAdo; Flags:  regtypelib
 
The P&D utility of VB6 itself also suggested to register the same library and also install MDAC_Typ.exe.
 
On my machine, I made a clean Windows 98 installation and then upgraded IE4.0 to IE5.0 hoping that my application would run smoothly(!) without installing any MDAC_type package. ( Of course, InnoSetup installed and registered msado20.tlb).  I hoped that Windows 98 and IE5.0 would install MDAC files themselves and those  installations would be sufficient for my application to run. But My application did not work.  
 
Then I experimented with utilities like Component Checker and Dependency Walker to figure out what is missing in terms of MDAC but could not reach any conclusive results. I searched the Net for similar questions to a large extent and also scanned the Microsoft KnowledgeBase extensively. I must have seen all the Microsoft articles in that respect.
 
Then I downloaded the large utilites Automatic OS Updater and Manual OS Updater of Randem Systems and experimented with them. These jewel utilities are obviously very valuable and very generous contributions of  Randem Systems to the Programming community. They work perfectly well and install whatever is needed at the target paltform in terms of MDAC/Jet/Dcom. However as stated elsewhere on this Web site they are too big for a possible Internet deployment. If the application is to be distributed on a CD, then these utlities are the ultimate solutions.
 
I considered even the MDAC-typ.exe itself to be too big for my application for an Internet Deployment and so I tried to figure out, extract and install only those files required by Excel Driver and ADO recordset, out of the MDAC_typ.exe, but have not been s
Title: VB6 and MDAC
Post by: admin on December 18, 2004, 07:58:04 AM
Tanner,
 
You are not alone with your problem. It is too moch trouble to attempt to figure out what files that you need from all the available SP's. This is why you must install the whole SP. This is where the Automatic OS Updater comes into play for all OS's. Other than that you would have to create a different install package for each OS with only the SP's for that OS.
 
You could do this and have to maintain four to five different installation packages and each package would be smaller. It's just a difference of size verses versatility. On the website you can download each platforms SP and include them in your installation packages.
 
We thanks you for your generous comments on our website.
 
BTW: the MDAC_Typ.exe file will only install the MDAC's not the JET engines that you also need. Also be aware that the MDAC_Typ.exe may not be the latest MDAC that you need. You need to check which MDAC that the file you are using is correct. this also can lead to apps not working.
Title: VB6 and MDAC
Post by: Tanner (Unregistered Guest) on December 19, 2004, 05:38:17 AM
Hi,
 
 
Thanks a lot for the prompt reply. Getting a reply within a couple of hours on a weekend  was beyond my imagination in this wildly materalistic World.  
 
Actually, having read the article How To Ask Questions The Smart Way by Mr. Eric Steven Raymond just a a couple of days ago, I hesitated to write this second message, but then I took the courage from the words that I am not alone with this problem.
 
After your confirmation, it is very sad to realize that I will have to throw away my application under these conditions. It is absolutely impossible for me to deploy an Internet package as large as 34MB. Mr Raymond is not only right in his words concerning Asking stupid questions and treating the busy and intelligent people as personal advisors, but also right in suggesting Throwing out the Microsoft Trash.
 
Until reaching the Package&Deployment phase of my application development process a couple of weeks ago, I was not aware at all of that incredibly difficult multi-platform installation procedures. I would expect those MDAC & Jet files to be upward and multi-platform compatible and much easier to deploy.  
 
Before giving up and throwing away my multi-month time investment, I would like to ask one more question.
 
Is there any Microsoft or Non-Microsoft method or utility to get around this problem?.  
 
All I need is to access multi-sheet local Excel files (without invoking Excel itself)  for read-only purposes and retrieve raw data into my VB6 application. I may give up the advanced recordset  features of any database architecture. However I need to know how many sheets do exist in an Excel file and get their names. It might be sufficient for me if I could read the Excel data into an array rather than a recordset. Also, I do not need any networking features. And, I am ready to work without ADO, MDAC, JET, DCOM whatever as far as possible. I just want to keep my final zipped SetUp package within 3MB limit for multi-platform deployment.
 
If someone could give me pointer in that respect, I would be more than happy.
 
Thanks again for the kind and prompt reply.
 
Sincerely,
Tanner
Title: VB6 and MDAC
Post by: admin on December 19, 2004, 06:59:32 AM
Tanner,

Here are a few things to look at and maybe try before giving up.

InnoScript (https://randemsystems.com/innoscript//) - Instead of using PDW
Installation Problems (https://randemsystems.support/innoscript-general-questions-report-bugs-problems-etc/installation-problems/)
Database Problems (https://randemsystems.support/multi-database-control-%28rsdbcontrol%29/database-problems/)
Automatic OS Updater (https://randemsystems.com/os-updater-support)

Distrubing an application of 34mb is nothing these days in the area of broadband. We do not like it either but this is what we have to work with. You can always break your app into two to three parts and have the user download what they need ar their leisure.