Python 2.2 unwise.exe

Bengt Richter bokr at oz.net
Tue Apr 16 19:58:57 EDT 2002


On Tue, 16 Apr 2002 16:38:52 -0400, Tim Peters <tim.one at comcast.net> wrote:

>[Tim]
>> On a clean Win2K Pro box, I'm finally able to provoke this (or at
>> least one of its causes) reproducibly, via:
>>
>> 1. Boot the box.
>>
>> 2. Install 2.2.1.
>>
>> 3. Uninstall 2.2.1.
>>
>> 4. Install 2.2.1 again.  Note that \Python22\UNWISE.EXE is there.
>>
>> 5. Reboot the box (just logging off and on again isn't enough).
>>
>> 6. Now \Python22\UNWISE.EXE no longer exists.
>
>For anyone playing along, this particular way of provoking the problem
>appears stoppable via inserting step 2a:
>
>2a: Delete this line from near the end of \Python22\INSTALL.LOG:
>
>    Delete in-use files: On
>
That's good info, but you're not suggesting that as a solution, are you?
ISTM that would be interfering with a normal and legitimate function of
installers/uninstallers.

IOW, I'm guessing uninstall at 3 uses that line to decide whether to
talk to windows about files it can't delete because they're locked as in use.

Uninstallers talk to windows and say "delete this and that when you get chance
while they're not locked." That "while" occurs by design at a point in the boot
process, before those files get a chance to be locked again for some reason.
Likewise, an installer may call for deferred replacement of a file when the
file can't be deleted.

I'm guessing it takes a reboot or some special program operation to flush pending
deletes. Thus the uninstall at 3 would leave a normal pending delete, but apparently
there is no special programming in the install at 4 to deal with it. So windows remembers
until the next boot. However the install at 4 seems to have replaced unwise.exe (or
it scheduled a boot time replace, and windows got the now two pending operations out of order?)

In any case, after 4 there seems to be either a single pending delete or an out of order
pair of delete unwise.exe and delete/replace unwise.exe at 5, and the boot triggers it,
hence 6.

At least that's my theory.
Why do you think windows always wants you to reboot after installing, after all?
Seems like better file transaction stuff could have been designed into he system ;-/

Regards,
Bengt Richter



More information about the Python-list mailing list