PDA

View Full Version : MDAC always installs



albyone
11-02-2001, 01:28 PM
I have noticed that when ever I run my setup on a PC that already has MDAC 2.5 installed, my setup reinstalls it anyway and asks to reboot the PC. This happens on Win98 and Win NT systems. I can run my setup multiple times on the same PC and it still reinstalls MDAC and reboots the PC.

In my project, I programmed it to install MDAC only when my 'Application Files' is checked on. When a user selects the first option when running setup, 'Application Files' is not part of that package. Before setup even gets to the page to ask what components need to be installed, it starts installing MDAC25! Is this a bug, or am I missing something?

Thank you for any replies.

Alberto

Chandima
11-02-2001, 03:55 PM
The fact that MDAC installs even when the same version is on the machine is by design. When we put in this functionality we were thinking more about MDAC being installed on thousands of remote PCs all over the world rather than being run on the same machine more than once. We distribute MDAC using microsofts mdac_typ.exe file. So there is no way that the Windows Installer can detect whether any one (or more) of the 50 to 60 MDAC files have been corrupted, deleted, or renamed. So if we just look at the registry, realize MDAC 25 is installed and skip the MDAC install altogether, there could be a situation where one of the MDAC files critical to your program could be missing. By installing a fresh copy of MDAC with your setup, you are gauranteed that there is nothing MDAC related for you to worry about.

We have however got complaints about this and are working on changing this functionality. We are trying to make this fix and a few others which might help customize the MDAC install a bit more. This will take some time though because updates are still in development and we put these modules through extensive QA.

Hope this explains the current behavior.

ryancrawcour
11-06-2001, 06:31 AM
has this problem been resolved yet ?

this is an annoying problem as i need to build a setup package for Win98. The install package seems to remain in a constant loop, it installs MDAC2.6 and then reboots the machine to resume setup. however as setup resumes, it installs MDAC2.6 again and asks me to reboot again !!!

how do i resolve this problem ?
please any help ... i am desperate here

Chandima
11-06-2001, 10:54 AM
Are using the latest merge modules? Please go to http://www.installshield.com/downloads/isx/mm/modules.asp and download them. We made a lot of fixes in this module and haven't heard of any infinite reboot issues with it. These were updated apporximately a month or so ago.

ryancrawcour
11-06-2001, 11:07 AM
hi there,
yes i am sure that i have the latest version. i am downloading it now again just to be certain. how do you delay the reboot until the end of the installation ?

cheers

Chandima
11-06-2001, 11:20 AM
I'm afraid you can't delay the MDAC reboot. There might be a way of doing it by manually editing the msi but I am not sure of that. We are thinking of redesigning the MDAC module so that it'll install at the end of the setup (instead of the beginning) so that the MDAC reboot will coincide with the Windows Installer reboot. However we are still trying to figure out of it's a feasible method as far as the entire Setup is concerned.

ryancrawcour
11-06-2001, 12:23 PM
do you have any idea when you guys will redesign the MDAC install ? i really urgently need to build an application for a customer and need MDAC26 !

please help !

Chandima
11-06-2001, 12:53 PM
Did the merge modules you downloaded have the same problem?

If so try deleting the old modules from the setup, and then putting the newer modules Objects folder. Sometimes even though you overwrite the modules, for some reason the Build still picks up the old ones.

I'm afraid I don't know when the next MDAC update will be released :(

deano7
11-13-2001, 02:58 AM
I am also running into the MDAC merge module problem. It ALWAYS installs and that is quite annoying. I would like to put the MDAC.exe file on the CD in the rarest of cases where there was a missing or corrupt file that was needed. The MDAC install makes my crappy test system take 6.5 minutes as opposed to 50 seconds without. This is a waste of users time when 99 percent of them already have a good copy of MDAC.

Please someone post here when MDAC is modified, I will change it in my project that day. It would also be SOOOOO nice to have it reboot at the end. That, would be infinitely more user-friendly.

deano

deano7
11-13-2001, 03:07 AM
If I just put the microsoft mdac_typ.exe file as a custom action, will this not reinstall if the user already has this version???

Any benefits or detriments to doing this? Will it even work?

thanks in advance,
deano

deano7
11-13-2001, 03:42 AM
If there is a more custom MDAC 2.5 in the works, when will it be ready? an estimate is all I am looking for. 2 weeks, 2 months, etc.

We are planning a large printing of CD's and would LOVE to make the MDAC install more user friendly first.

sorry for the numerous posts. It's late

deano

Chandima
11-13-2001, 08:53 AM
Don't worry about the number of posts you make!

I would say the MDAC would be coming in about 2 months. Might come earlier but definitely not in 2 weeks. Sorry about that.

As for running Mdac_typ.exe as a Custom Action. This might be your solution for now.

Make sure you get the System Requirements correct. To do this you can check the version of Internet Explorer on the target machine by looking at the version number of shdocvw.dll. You can check the NT version number by looking in CSDVersion of HKLM\Software\Microsoft\Windows NT\CurrentVersion\

You can see what version of MDAC is installed by looking in FullInstallVer of HKLM\Software\Microsoft\DataAccess\

Hope this helps.

deano7
11-13-2001, 11:08 AM
thanks Chandima,

I do have a question regarding your last post. I am a newbie with installshield and I have never done a custom action before. I was under the impression that all I had to do was add the executable into the custom actions section and that would be it. Could you please explain to me how and why I would need to check the version of ie on the target machine? This is sounding like a difficult procedure from your last post.

Thanks so much for your help,

ryancrawcour
11-14-2001, 03:33 AM
thanks ... this worked. i downloaded the latest MDAC26ENU merge module. deleted the old one from my machine and rebuilt my project. and it works.

thanks for the assistance.
cheers

ryancrawcour
11-14-2001, 03:40 AM
with regards to putting the .exe into your project as a custom action ... i tried this and it "worked" ... but

when trying to uninstall, it runs your custom action again and therefore tries to re-install MDAC upon uninstall. not very nice.

use the latest merge module avail from Installshield. this works !

Chandima
11-14-2001, 11:59 AM
ryancrawcour:

I'm glad it worked!

Deano7:

Unfortunately I have never created a Custom Action for MDAC becuase we are more concerned with the merge module :)

However if I was going to make one, I would put the mdac_typ.exe in "Support Files". Then create a VBScript that will check for the IE version, NT4 version, and MDAC version (to see if I need to install it at all). If all of these are OK, then run the mdac_typ.exe in the Temp folder (the exact temp location can ge gotten from the Temp environment variable). You will of course have to pass in the necessary command line if you want a silent install. Now run this VBScript as a Custom Action in during Install. I would launch it "After Setup Complete Dialog" because it will be safer and not mess with the rest of the install.

I hope this helps, Note that you can do the same thing in C++ and make a DLL or Exe (and launch them as Custom Actions). VBScript is juts my preference.

deano7
11-14-2001, 12:51 PM
That sound like a great way to work around the merge module. Thank you so much for taking the time to help me out.

deano

deano7
12-08-2001, 12:35 AM
I was told by tech support that if I put the CMDLINE=ISINSTALL_MDAC_BYVERSION=Y
in the setup.ini that it would not install mdac 2.5 if it is already installed on the target computer. I was assured that this function would be available in the new mdac merge modules found in ISX version 3.53. I tried it out with 3.53 and it did not work. Am I doing something incorrectly, or is it just not ready yet?

If it is not ready yet, does anyone know if someone is working on this and when it will be done?

Thanks in advance,
deano

Chandima
12-10-2001, 10:33 AM
I'm afraid this does not work yet, so you're not doing anything wrong. I know because I have tried this myself. All I can say is that the next MDAC merge modules we release will be much better than the current ones because we have quite a few Work Orders that have been approved for them.

deano7
12-10-2001, 11:02 AM
Any guestimate on a time frame for the new merge modules?

Chandima
12-10-2001, 11:33 AM
Sorry but no idea. They are still in development and with the Holiday Season coming up I don't know how long it will take. Trust me when I say I want them as bad as anyone else does.

deano7
02-12-2002, 12:06 AM
Hi,

I am still waiting for an MDAC 2.5 merge module which will not have two reboots when combined with MSI 2.0.

Chandima, is there any idea when these modifications will be made to the MDAC 2.5 MM? I have been really patient ;-)

Also, I noticed that a new MDAC 2.7 merge module is out as of this month. Can I use this merge module in place of my MDAC 2.5 merge module? If this merge module would work for me and incorporate the changes to avoid 2 reboots, Are there any detriments to using this module?

Thanks in advance,
dean

Chandima
02-12-2002, 02:20 PM
You should be able to use the MDAC 2.7 merge module. Actually this is what they were working on all this time. I personally QA'd this module pretty thoroughly and it seems to be miles ahead of the previous one. This installs MDAC along with the other files (and not at the beginning) so it actually installs ONLY if the feature it's associated with is being installed. It also combines the msi and MDAC reboot in to one.

I don't think we will be updating the MDAC 2.5 and 2.6 modules to this new mold anytime soon though.

johnhind
02-21-2002, 03:10 PM
But will mdac 2.7 contain the Jet drivers for Access ?

After all of these posts in this thread can you summerize what I should do for a VB frontend using an Access 2000 db, installing on Win95 upwards ?

This would be very useful for thousands of us stranded out here !!

John

Chandima
02-25-2002, 12:19 PM
All the stuff on this thread can be forgotten about now because all the issues have been fixed/addressed in the new MDAC27 merge module. Do you want to install on Win95 also? If so MDAC27 will not work for you (does not support win95). You will have to use the current MDAC 25 or 26 modules.

If you are using MDAC 26 or MDAC 27, you need to include the Jet 4.0 merge module as well. You can download this module from http://www.installshield.com/downloads/isx/mm/modules.asp?source=support_central&product=cx&xmlUse=

This should install all the latest MDAC components and Jet Drivers on the target machine. If you do a VB Scan in Express all other Components and References made in the Vbp should be added to your project.

johnhind
02-25-2002, 12:36 PM
If I use the 2.7 merge module, do I need to make a reference to mdac 2.7 in my VB apps, rather than mdac 2.5 that I use currently ?

Forgive my bluntness here, but have you done lots of testing on different PC setups ! I ask this because I have taken a lot of flak from my manager after several failed installs on customer sites, and I need a lot of confidence to change to this new method, rather than running mdac_type.exe (2.5) as a custom action at the beginning of the install, which seems to work ok.

If we need to have a different setup for Win95, what would you suggest ? I don't want 2 diff install routines, so could we determine the OS and then either use the 2.7 merge module, or run mdac_typ.exe ?

Sorry to drag this one out, but it effects so many people.....

regards
John, UK

Chandima
02-25-2002, 01:22 PM
It's not a problem. There were bugs in the MDAC 25 and 26 modules and it's only correct that we try and help you out of the mess it created :o

I personally did lots and lots of testing on the MDAC 27 merge module. As far as the VB Code goes I really don't think you have to change any references. I assume MDAC to be backward compatible so that scripts written to run with 2.5 and 2.6 should work with 2.7 as well. That is however beyond our scope.

As for getting your setup to work:
1. If your current implementation of MDAC works fine for you (Custom Action for mdac-type.exe), just try adding the Jet 4.0 merge module to your setup. This will install the latest Jet drivers to the target machine as well as MDAC. It will be the simplest solution because then you don't have to worry about distributing different versions of MDAC based on OS and making things more complicated.

2. If you want to the MDAC 25 and 27 option you suggested you could have two Setup Types. One named "Win95" and the other named "Other OS". Both Setup Types will have the same features. Only difference would be that "Other OS" will have an extra feature to which MDAC27 is associated. So, if this SetupType is chosen MDAC27 is installed, if not, it won't be. You then move your MDAC25 Custom Action to after the Setup Types dialog and manually add a condition to the Custom Action if "_IsSetupTypeMin=Win95". This way the Custom Action will launch if the user selects this option.

Let me know which way you prefer to go and we can go on from there. Also if possible start a new thread on this because if someone else does a search they will get a more up to date work around.

johnhind
02-25-2002, 02:53 PM
Chandima

I'm glad you took my comments in the right way !

Just one point from your ideas:-

"So, if this SetupType is chosen MDAC27 is installed...."

How is the setup chosen ? Do you mean put both setups on the cd and let the user decide which one to install ? Can't we be clever here and detect which files to process ?

I know this is a lot of extra work for you, but the way to put this problem finally to bed would be to write a noddy VB application and create the .ism file(s) that you would use, and post the .ism files to a new thread. The paths to the files would be different on our PCs, but we would get enough info to figure it out. Then we would be able to see how to setup mdac for Win95 up and build our own setup.exe files.

thanks
John

Chandima
02-27-2002, 11:30 AM
I have an even better solution! I spent a couple of hours yesterday hacking the DCOM module and fiddling around with the MDAC module and I created an MDAC 26 module that works just as well as the MDAC 2.7!!

I took the Forced Reboot out of the DCOM module. This shouldn't be a problem though because
1. MDAC needs IE 4.01 Sp2 and this verison IE seems to install DCOM - so the DCOM module is ignored all together
2. In some wierd circumstance that DCOM is still not there, the MDAC reboot should still cover it.

Please email me at chandimar@installshield.com and I'll send you the updated MDAC and DCOM modules. It's about 6.5MB zipped.

shooey
03-02-2002, 05:10 PM
I'm coming in on the end here but I have a more simple question.

My code requires MDAC 2.5 to run.
I want it to be able to run on Win 95 and up.
1) If I just leave it at MDAC 2.5 with DCOM95 as an option will this be adequate for all installations?

2) Will it only inconvenience the more recent OS's by doing a reboot or does installation MDAC 2.5 on a Win XP system with MDAC 2.7 do harm?

3) Do Win 98 systems have to run DCOM98 before installation?

Thank you.

- Adam

johnhind
03-03-2002, 05:50 AM
This is basically the same question that I had when starting the thread !!!

At the moment, I include the dcom modules and run mdac_type.exe (2.5) as a custom action at the beginning of the install. The problem is that on a w2k system it comes up "Serious Error" with a message saying that you already have mdac 2.6 installed. The message is ok, but the users don't like the "Serious Error" title.

chandima has come up with mdac 2.6 and 2.7, but it seems a bit fiddly with regards to diff versions of Windows.

There must be a simple solution - lets keep in touch on this one.

John

Chandima
03-04-2002, 04:06 PM
Do you think this "Serious Error" is coming from the mdac_typ.exe? What you could do is write a Custom Action that

1. Checks the current version of MDAC on the target machine (HKLM\software\microsoft\DataAccess\FullInstallVer)
2. If it's less than 2.5 then run mdac_typ.exe else do nothing and continue with install

johnhind
03-04-2002, 04:20 PM
Chandima

Thanks for hanging on in there !

Yes, the "serious setup error" titled message box comes from mdac_type.exe 2.5

I agree that a bit of script would be a good idea to test for the version of mdac installed. I don't know where to start ! Have you, or anyone listenning in, got a minute ? ;)

John

Chandima
03-05-2002, 10:31 AM
This vbscript should get the current MDAC version

Dim WshShell
Dim MdacVer
Set WshShell = CreateObject("WScript.Shell")
MdacVer = WshShell.RegRead("HKLM\software\microsoft\DataAccess\FullInstallVer")
MsgBox MdacVer