Distutils: bdist_wininst. System integration use. (--silent option?,etc.)

Discussion in 'Python' started by Peter Schmiedeskamp, Oct 31, 2003.

  1. Hello, I'm writing in regard to the distutils package for python.

    I regularly repackage installers for silent/automated distribution on
    numerous Windows PCs throughout an enterprise. Sites such as
    AppDeploy (http://www.appdeploy.com) and tools such as WISE all
    suggest that this is a pretty common task.

    Increasingly, however, I've found that tools like WISE's setup capture
    are becoming less relevant for this task. Rather than running an
    install and capturing the output, it is getting easier and more
    reliable to simply wrap the original vendor's installer and invoke it
    with the proper command line parameters to produce a silent install.
    So, repackaging is really becoming meta-packaging.

    What is important with this meta-packaging is to properly prepare the
    system environment (clean up icons, set registry keys, backup user
    files, etc.) for the execution of the vendor's installer. From my
    experience, flow control and general language consistency of the
    various installer applications is abysmal. Python seems like the
    logical replacement for the anemic or otherwise ill-planned scripting
    languages that plague Windows software installers.

    Enter Python:
    The bdist_wininst tool looks to be very close to ideal for such a
    purpose. However, it lacks a couple key features
    (please correct me if I'm wrong on any of these):
    1. Silent or non-interactive installations
    2. Installations to arbitrary locations

    Currently, on packages requiring heavier weight logic, I must invoke a
    py2exe generated executable. This works very well, but as more and
    more logic moves from an installer package to a python script, it
    seems rather silly to use an entirely separate installer program to
    merely bundle the py2exe generated files into a single self-extracting

    I caught another thread from some time ago, where the python
    developers talked about installers and their respective problems.
    It seems like many good questions were raised, but I never found that
    any elegant solution was found.

    So, is anyone else using python for systems integration work? Would
    someone familiar with the bdist suite care to speculate on the
    difficulty/sensibility in extending the bdist package for this

    Perhaps a system integration toolkit would be a better place for this?
    It seems, though that bdist might be the right place for the
    installer bits, but maybe people see other areas where code reuse
    could take place. Ultimately, maybe a bdist_msi might be possible. I
    think perl has some kind of MSI generating code. Maybe this could be
    a starting point for such an endeavor.

    Sorry for the length of this post. I'll be good next time.

    Peter Schmiedeskamp, Oct 31, 2003
    1. Advertisements

  2. Re: Distutils: bdist_wininst. System integration use. (--silent option?, etc.)

    "Peter Schmiedeskamp" <> writes:

    > So, is anyone else using python for systems integration work? Would
    > someone familiar with the bdist suite care to speculate on the
    > difficulty/sensibility in extending the bdist package for this
    > purpose?

    It should certainly be possible - it is open source, so you can see
    for yourself what precisely it does. It being open source, changes
    occur only when volunteers contribute them, though.

    > Ultimately, maybe a bdist_msi might be possible.

    Yes, I've been looking into creating MSI through the installer
    automation interface. Unfortunately, there is too little documentation
    about *creating* databases - much of the documentation deals with the
    setup process itself. For example, my current questions are:

    - how do I get a package initialized with the default schema? In
    particular, how do I get the _Validation table filled?

    - how do can I add the file content to the database (I know how I can
    put things into the Files table).

    Martin v. =?iso-8859-15?q?L=F6wis?=, Nov 1, 2003
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Chris Gonnerman
    John Machin
    Aug 9, 2003
  2. timw.google
    Serge Orlov
    May 11, 2006
  3. Kevin Walzer

    Re: PIL (etc etc etc) on OS X

    Kevin Walzer, Aug 1, 2008, in forum: Python
    Fredrik Lundh
    Aug 13, 2008
  4. Luis Alberto Zarrabeitia Gomez

    distutils, No module named numpy.distutils.fcompiler.conv_template

    Luis Alberto Zarrabeitia Gomez, Mar 30, 2009, in forum: Python
    Luis Alberto Zarrabeitia Gomez
    Mar 30, 2009
  5. Steven D'Aprano

    distutils bdist_wininst failure on Linux

    Steven D'Aprano, Feb 23, 2012, in forum: Python
    Bob Bowles
    Aug 6, 2012

Share This Page