[Python-Dev] VC 7.1 maintenance?

Thomas Heller theller at python.net
Fri Jul 9 19:37:33 CEST 2004


"Martin v. Löwis" <martin at v.loewis.de> writes:

> Thomas Heller wrote:
>> For example, the MSI which is currently built removes the file
>> associations when the package is removed, instead of restoring them to
>> their previous values.  I have no idea how this can be fixed...
>
> This is a multi-step process. First, one has to find out how
> to restore associations in general, i.e. independently of MSI.
> Where should one store, on install, the information what the old
> association was? What if there already is "old" extension
> information?
>
> This is general Win32 stuff, and I don't know what the answer is.

Wise gives an example.  It stores the previous value in it's INSTALL.LOG
file.  Whether this makes sense in general or not I cannot tell,
although it's convenient for me.

> Then, how can this be integrated into an MSI file? Perhaps
> MSI already offers built-in mechanism for that, perhaps existing
> mechanisms for dealing with the registry have to be used.

I thought MSI were able to 'restore the system to the state it had
before the installation', but maybe this is just a dream, may it isn't
supposed to do this, maybe one has to use system restore points for
that, and maybe this only shows how much I know about this stuff.

> This is MSI specific, and is likely answered in the Microsoft
> MSI documentation.

> Then, finally, how can the Python script be changed to invoke
> the MSI mechanism? This is very easy: If you know what tables
> in MSI to manipulate in what way, the relevant Python code
> should become easily apparent.
>
> So in this case, I don't think any amount of documentation on
> the Python script will help to solve this problem (that is
> not to say that documentation should be avoided for this reason,
> of course).

Well, the docs for msilib could tell that associations are not restored.

BTW: Python-2.4a1.msi misses to install the
distutils/command/wininst-6.exe file.  Should I fix this myself (i guess
I could figure *this one* out) or do you prefer a bug report?

Thomas



More information about the Python-Dev mailing list