[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.sdk

Install says MDAC not there but it is

Richard

10/9/2002 11:51:00 PM

When I attempt to install .NET Framework SDK it says the
MDAC 2.7 is not installed on this machine and should be.
However, it is indeed installed. How do I fix this?
3 Answers

Ronny Ong

10/10/2002 5:30:00 PM

0

This is a common MDAC problem that I wish Microsoft would document better. I
guess they hope it will just quietly go away.

Here's what happens: You have a Windows XP machine (which comes with MDAC
2.7 built-in) or a Windows 2000 machine which had MDAC 2.7 installed on it.
You could even have this problem on Windows ME upgraded to MDAC 2.7. The key
is that these operating systems all have Windows File Protection (also known
as System File Protection), which forcibly blocks newer system files from
being replaced by older ones. Good install programs should never do that
anyway, but they sometimes don't check versions correctly, so the OS
enforces it now.

Along comes somebody with an old Windows app. The app itself runs fine on
all the recent versions of Windows, and it has no problem running on MDAC
2.7, but the app's installer includes an old version of MDAC, and you can't
install the app without letting it attempt to install its old MDAC, which
"should not" be a problem because at the very least, Windows File Protection
will ensure that your newer MDAC files don't get replaced by older ones.

And that's exactly what happens. You launch the old app and everything works
fine, so you move on with life. Here's the gotcha: there is no such thing as
version checking on registry entries, nor is there such a thing as Windows
Registry Protection. As long as you're installing software with
administrative rights (which is what most software installations occur
under), the installation can write and overwrite registry entries. Old MDAC
installers update the registry to indicate what version they just finished
installing. New MDAC installers do the same thing, but with one key
difference: the newer MDAC installers actually go back and make sure that
their files got installed before they update the registry. The old MDAC
installers don't actually verify that they installed the files they
"thought" they did. So if Windows Files Protection prevents old MDAC from
replacing current files, old MDAC never realizes it, so old MDAC merrily
puts the old MDAC version number in the registry.

Six months later, you've forgotten all about the old app which tried and
failed to install old MDAC, and you go to install something new like the
.NET Framework SDK. The only "proper" way to determine MDAC version is the
MDAC Component Checker, but there's no practical way for any installer to
incorporate Component Checker into an installation, so most installers which
need to check for MDAC version simply go and look at the registy. They find
an old MDAC version, which was put there six months ago.

I don't think the .NET Framework SDK installer is one which refuses to
proceed. Doesn't it just warn you, but still allow you to continue? I do
know that there are quite a few products that refuse to install unless they
see 2.5 or 2.6. Of course, there's no obvious clues which would lead you to
associate your problem from today with an app install six months ago
(especially given that the app worked fine), so people who run into this
problem wind up tearing out hair, reformatting hard drives, etc.

So how to fix? Look at the FullVer and Version entries under
HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess. Make them say 2.7 if you
know you've got 2.7. If you want to use Component Checker just to be sure,
download it from
http://download.microsoft.com/download/dasdk/CC/2.7/WIN98MeXP/EN...


"Richard" <richard.b.palmer@boeing.com> wrote in message
news:048901c26fde$15daf850$35ef2ecf@TKMSFTNGXA11...
> When I attempt to install .NET Framework SDK it says the
> MDAC 2.7 is not installed on this machine and should be.
> However, it is indeed installed. How do I fix this?



Richard

10/11/2002 12:39:00 AM

0

Thanks for the explanation, though it is not good news.
In fact, it's worse.

I did, in fact, download and run the component checker.
It says I have 2.6 and two files with mismatched version
numbers. MS's Platform SDK site @
http://www.microsoft.com/msdownload/platformsdk/...
says I have 2.7. So I went ahead and attempted to
reinstall MDAC 2.7 from this site. --- no change.

So the component checker says it can remove your MDAC and
replace with the version of your choice. I followed the
directions (in the help file) to the letter (and yes, I
put in the /D switch) until I come to the part where it
says, "...open the File menu and click Reconfigure MDAC
components." Guess what, no such selection appears under
the file menu.

Now what?
>-----Original Message-----
>This is a common MDAC problem that I wish Microsoft would
document better. I
>guess they hope it will just quietly go away.
>
>Here's what happens: You have a Windows XP machine (which
comes with MDAC
>2.7 built-in) or a Windows 2000 machine which had MDAC
2.7 installed on it.
>You could even have this problem on Windows ME upgraded
to MDAC 2.7. The key
>is that these operating systems all have Windows File
Protection (also known
>as System File Protection), which forcibly blocks newer
system files from
>being replaced by older ones. Good install programs
should never do that
>anyway, but they sometimes don't check versions
correctly, so the OS
>enforces it now.
>
>Along comes somebody with an old Windows app. The app
itself runs fine on
>all the recent versions of Windows, and it has no problem
running on MDAC
>2.7, but the app's installer includes an old version of
MDAC, and you can't
>install the app without letting it attempt to install its
old MDAC, which
>"should not" be a problem because at the very least,
Windows File Protection
>will ensure that your newer MDAC files don't get replaced
by older ones.
>
>And that's exactly what happens. You launch the old app
and everything works
>fine, so you move on with life. Here's the gotcha: there
is no such thing as
>version checking on registry entries, nor is there such a
thing as Windows
>Registry Protection. As long as you're installing
software with
>administrative rights (which is what most software
installations occur
>under), the installation can write and overwrite registry
entries. Old MDAC
>installers update the registry to indicate what version
they just finished
>installing. New MDAC installers do the same thing, but
with one key
>difference: the newer MDAC installers actually go back
and make sure that
>their files got installed before they update the
registry. The old MDAC
>installers don't actually verify that they installed the
files they
>"thought" they did. So if Windows Files Protection
prevents old MDAC from
>replacing current files, old MDAC never realizes it, so
old MDAC merrily
>puts the old MDAC version number in the registry.
>
>Six months later, you've forgotten all about the old app
which tried and
>failed to install old MDAC, and you go to install
something new like the
>..NET Framework SDK. The only "proper" way to determine
MDAC version is the
>MDAC Component Checker, but there's no practical way for
any installer to
>incorporate Component Checker into an installation, so
most installers which
>need to check for MDAC version simply go and look at the
registy. They find
>an old MDAC version, which was put there six months ago.
>
>I don't think the .NET Framework SDK installer is one
which refuses to
>proceed. Doesn't it just warn you, but still allow you to
continue? I do
>know that there are quite a few products that refuse to
install unless they
>see 2.5 or 2.6. Of course, there's no obvious clues which
would lead you to
>associate your problem from today with an app install six
months ago
>(especially given that the app worked fine), so people
who run into this
>problem wind up tearing out hair, reformatting hard
drives, etc.
>
>So how to fix? Look at the FullVer and Version entries
under
>HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess. Make
them say 2.7 if you
>know you've got 2.7. If you want to use Component Checker
just to be sure,
>download it from
>http://download.microsoft.com/download/dasdk/CC/...
eXP/EN-US/cc.exe
>
>
>"Richard" <richard.b.palmer@boeing.com> wrote in message
>news:048901c26fde$15daf850$35ef2ecf@TKMSFTNGXA11...
>> When I attempt to install .NET Framework SDK it says the
>> MDAC 2.7 is not installed on this machine and should be.
>> However, it is indeed installed. How do I fix this?
>
>
>
>.
>

Ronny Ong

10/14/2002 8:53:00 AM

0

The "Reconfigure MDAC" feature is only for Windows 98 and earlier. It cannot
work with later operating systems due to System File Protection.

Go into regedit and find the key
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\Exception
Components. Under this key, there will be several keys named with GUIDs.
Select each one and look at the FriendlyName value on the right hand side.
Delete any of the keys which refer to MDAC in their FriendlyName. Then
re-run the mdac_typ.exe for 2.7.

If you're the careful type, you can use Registry > Export Registry File...
in regedit to backup everything beneath Exception Components before deleting
any keys.


"Richard" <richard.b.palmer@boeing.com> wrote in message
news:117a01c270ad$e2a80330$36ef2ecf@tkmsftngxa12...
> Thanks for the explanation, though it is not good news.
> In fact, it's worse.
>
> I did, in fact, download and run the component checker.
> It says I have 2.6 and two files with mismatched version
> numbers. MS's Platform SDK site @
> http://www.microsoft.com/msdownload/platformsdk/...
> says I have 2.7. So I went ahead and attempted to
> reinstall MDAC 2.7 from this site. --- no change.
>
> So the component checker says it can remove your MDAC and
> replace with the version of your choice. I followed the
> directions (in the help file) to the letter (and yes, I
> put in the /D switch) until I come to the part where it
> says, "...open the File menu and click Reconfigure MDAC
> components." Guess what, no such selection appears under
> the file menu.
>
> Now what?