Examples using msilib to build windows installers

"Martin v. Löwis" martin at v.loewis.de
Fri Apr 4 15:25:58 EDT 2008


> It would appear to me that the msilib library included with standard
> python 2.5 would allow be to do this. I found the source code that
> builds the python distrubition installer packages, but I was wondering
> if there were other examples that I can learn from.

Actually, the installer itself is built with Tools/msi/msilib, which
predates the msilib shipped in 2.5; the former one uses ActiveX
(automation), whereas the latter one links directly to a native
library (and hence doesn't require PythonCOM). That library was
also used (with modifications) to build Enthought Python.

In any case, the single known application of the shipped msilib
is the bdist_msi command of distutils.

If you want to start using MSI, you absolutely have to know about
the database tables and their purpose. Use orca.exe to inspect
MSI files, and try to make sense out of that. Read MSDN
documentation. msilib greatly helps in writing installers quickly,
but the "learning curve" is perhaps even steeper than "mere"
MSI, as you need to understand both the MSI principles themselves,
and then how msilib wraps it in a more compact form.

Of course, if you can manage to package your application as a
distutils package, you can just try running bdist_msi, and see
what you get.

Regards,
Martin



More information about the Python-list mailing list