[Python-Dev] RELEASED Python 2.4.1, release candidate 1

"Martin v. Löwis" martin at v.loewis.de
Sat Mar 12 07:29:40 EST 2005


Vincent Wehren wrote:
> is there a reason why msiexec iterates through what looks like all (?) 
> files and directories in/under the destination directory? There is 
> massive file I/O going on there (OK, by now you know I didn't de-install 
> 2.4 before trying ;-)) which explains the 100% CPU usage and the time it 
> takes for the Next button to respond.

I think it is trying to estimate disk usage. To compute the disk usage
correctly, you need to find out
- what files are new files
- what files are going to be deleted
- what files are goging to be replaced
- what files are going to stay

To make this determination, it not only needs to find the names and
sizes of all files, but it also tries to determine a file version.

If a file is to be replaced, you need the disk space of both the
old and the new file temporarily, because you might need to rollback
the installation if the user cancels or some error occurs. For a new
file, you only need to consider the space of the file itself.

Unfortunately, Python files don't have version information at all
in them, but installer doesn't know this - so it looks into every
file.

If you are adventurous, you can try to take the FileCost action
out of the sequence table (use orca.exe from the SDK to do so);
however, I don't think I would like to do that in the "official"
installer, since people should know in advance if the installation
will exhaust the disk space.

To speed up the installation, it is probably better to uninstall
first, then install the new package, as installer will then
quickly detect that all files are new.

Regards,
Martin



More information about the Python-list mailing list