[Python-bugs-list] [ python-Bugs-818029 ] installer wakes up Windows File Protection

SourceForge.net noreply at sourceforge.net
Tue Oct 14 14:17:28 EDT 2003


Bugs item #818029, was opened at 2003-10-05 10:49
Message generated for change (Comment added) made by theller
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=818029&group_id=5470

Category: Windows
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Pete (thegoldenear)
Assigned to: Thomas Heller (theller)
Summary: installer wakes up Windows File Protection

Initial Comment:
installing Python 2.3.2 on Windows 2000 SP4 induced the
Windows File Protection, presumably bcos an existing
system file had been replaced by an older version

----------------------------------------------------------------------

>Comment By: Thomas Heller (theller)
Date: 2003-10-14 20:17

Message:
Logged In: YES 
user_id=11105

The clearest description *how* to ship these dlls I did find
here:
http://www.jrsoftware.org/ishowto.phtml?a=vc

Of course, this doesn't answer the question *whether* they
should be distributed at all.

And I do know that on a clean Win95 system the MFC dlls were
not present, unless write (aka wordpad) was installed. Don't
remember anymore if this also applied to msvcrt.dll.


----------------------------------------------------------------------

Comment By: Tim Peters (tim_one)
Date: 2003-10-14 20:07

Message:
Logged In: YES 
user_id=31435

While we're at it, I'd like to question whether we should be 
shipping MS dlls at all.  I'd *like* to question it, but have 
never known how to <wink>:  I don't know that it's necessary 
to ship them, especially since we don't support DOS directly 
anymore.  OTOH, I don't know that no box out there needs 
them either.

----------------------------------------------------------------------

Comment By: Thomas Heller (theller)
Date: 2003-10-14 19:29

Message:
Logged In: YES 
user_id=11105

It seems I did include msvcrt.dll and msvcirt.dll from my
system directory, but probably the files from VC6 SP5 should
be included.

IMO msvcirt.dll is not used by Python, but msvcirt.dll uses
msvcrt.dll, so it makes sense to include both of these files
in the installer.

Here are the version numbers I found in the various installers:
Python-2.3.exe: msvcrt.dll - 6.1.8637.0, msvcirt.dll -
6.1.8168.0
Python-2.3.2.exe: msvcrt.dll - 7.0.2600.1106, msvcirt.dll -
7.0.2600.0
vcredist.exe: msvcrt.dll - 6.0.8797.0, msvcirt.dll - 6.0.8168.0

The vcredist.exe is from the VC6 SP5 CD.

I will include the latter files in the next installer
(2.3.3), and hopefully everything will be ok then.

Assigned back to myself.

----------------------------------------------------------------------

Comment By: Tim Peters (tim_one)
Date: 2003-10-06 17:50

Message:
Logged In: YES 
user_id=31435

msvcirt.dll was in the installer when I inherited it from Guido.  
He probably inherited it from Mark (Hammond).  If Mark can't 
remember why it's there either, we should check all the .pyd 
(not just python23.dll) for references to it.  Assigned to Mark.

----------------------------------------------------------------------

Comment By: Thomas Heller (theller)
Date: 2003-10-06 17:38

Message:
Logged In: YES 
user_id=11105

I *can* reproduce it - look into the event viewer, category
'System': File replacement was attempted on the protected
system file d:\winnt\system32\msvcirt.dll...

The windows installer tries (in my case) to replace the
version 6.1.8637.0 with 7.0.2600.0.

Looking at python23.dll's dependencies with Dependency
Walker, it seems that msvcirt.dll isn't required by Python
at all, so the solution would be simple: leave msvcirt.dll
out of the installer.

Why is it in the installer at all? Tim?

----------------------------------------------------------------------

Comment By: logistix (logistix)
Date: 2003-10-05 23:21

Message:
Logged In: YES 
user_id=699438

I couldn't reproduce this on a stock install of W2K SP 4.


If you're in a position to do so (you'll need the physical CD 
media), could you rebuild your DLL cache?  From the 
command-line "sfc /purgecache && sfc /scannow" should do 
this.  After that, try to install python2.3.2 and see if sfc kicks 
in again.

If you can't do that, you might want to see if the file 
python23.dll somehow manually ended up in the %windir%
\system32\dllcache directory.  As far as I know, thats the 
only file that should be getting shoved into an area the sfc 
cares about.

----------------------------------------------------------------------

Comment By: Tim Peters (tim_one)
Date: 2003-10-05 20:12

Message:
Logged In: YES 
user_id=31435

Changed category to Windows and assigned to Thomas Heller.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=818029&group_id=5470



More information about the Python-bugs-list mailing list