[Distutils] bdist_wininst

Thomas Heller thomas.heller@ion-tof.com
Thu Jan 18 08:50:59 2001

> I've just tried to create a wininst based version of my packages.
> The installer works great except for a few nits:
> * the text box showing the description could be wider
Probably the text shown in this box should be reformatted
by bdist_wininst to better fit in the box...
Currently the 'packager' has to do it manually.

> * no documentation files are installed -- is there a way to get
>   those installed somewhere
wininst follows distutils very closely and does not care about this.

> * the installer install directly into \Python20 -- shouldn't
>   it install to \Python20\Lib ? What's the standard here on Windows ?
This is the standard on windows. \Python20\Lib is treated as location
for modules belonging to core python.
Note that this behaviour has one serious consequence:
Since the distutils distributed with python are in \python20\lib\distutils,
and installing a new version of distutils will install in \python20\distutils,
and c:\python20\lib appears in sys.path *before* c:\python20,
it requires special actions to actually *use* this newly
installed distutils: The user has to delete or renamed or otherwise
disable the directory \python20\lib\distutils.
> * the installer doesn't register itself in the Windows Software
>   registry -- an uninstall is not possible (this would be *very*
>   nice to have)
This is something I have in my mind for a long time, but
since distutils itself does not care about uninstalling I've never
done it. The hooks are all there in wininst: A callback is called
for every action taken on the filesystem during installation. It
would be easy to write a log file which could be used for uninstallation.

> Any hints ?
> -- 
> Marc-Andre Lemburg