[Python-Dev] Packaging and binary distributions for Python 3.3 (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Fri Oct 14 17:11:18 CEST 2011


One other aspect is that MSI format is essentially opaque (correct me if I'm wrong here).

You are wrong: msiexec /a unpacks an MSI extracts the files from the MSI (documented as "administrative installation", meaning that the result of it can again be installed, as it will also produce a stripped MSI file with just the installation procedure).

With bdistmsi, if I want to get the compiled binaries out for some reason (maybe to install them in a virtual environment or some type of other custom build) I just unzip the file - the exe header gets ignored. With bdistmsi, I have no idea if there's any way of doing that.

It's little known, but was always well supported. See also

http://www.python.org/download/releases/2.4/msi/

Also, there are fewer people with expertise in MSI format.

That's certainly true.

I suspect that even a Unix developer could have a go at modifying the C code in bdistmsi, it's not too MS-specific.

s/bdist_msi/bdist_wininst/

I don't know if that's possible for bdistmsi.

No need to modify C code - it's all pure Python :-)

However, I agree that's beside the point: you do need to understand MSI fairly well for modifying bdist_msi. I'm skeptical with your assertion that a Unix developer could contribute to bdist_wininst though without a Windows installation - you have to test this stuff or else it will break.

Speaking personally, the msilib documentation is pretty unreadable, as I don't know anything about the MSI format. Whenever I've tried reading the MS documentation in the past, I've found it pretty impenetrable (a link to a simple tutorial, and some examples of use, in the msilib documentation might help).

If somebody would volunteer to write a tutorial, I could provide input. I'm clearly unqualified to write such a document, both for language barrier reasons, and because I continue to fail guessing what precisely it is that people don't understand.

Regards, Martin



More information about the Python-Dev mailing list