Python Win32 Silent Install

M

Matt Gerrans

Looks like the installer for the Win32 extensions has changed from Wise to
distutils, so now my automated silent installations don't work anymore.
Anyone know if the distutils binary installer can be run silently? I
haven't been able find a command line reference for distutils binaries (I'm
still sifting through http://www.python.org/doc/current/dist/, though...).

Maybe there is a better way to do an unattended install of the Win32
extensions (that is, perhaps without using the binary)?

Anyway, I'm looking into this on the python.org and starship pages, but I
just thought I'd see if anyone can point me in the right direction...

- Matt
 
T

Thomas Heller

Matt Gerrans said:
Looks like the installer for the Win32 extensions has changed from Wise to
distutils, so now my automated silent installations don't work anymore.
Anyone know if the distutils binary installer can be run silently? I
haven't been able find a command line reference for distutils binaries (I'm
still sifting through http://www.python.org/doc/current/dist/, though...).

There are no command line options for the distutils created installer,
and silent installation is not possible.
Maybe there is a better way to do an unattended install of the Win32
extensions (that is, perhaps without using the binary)?

I should be quite easy to write a Python script that opens the binary as
a zipfile, and then does what the gui does without showing a gui.

Thomas
 
M

Matt Gerrans

That sounds easy enough, but I imagine the Acive State package requires some
kind of licensing. I'm pre-installing on millions of consumer PCs.
 
S

Steve Holden

Matt said:
That sounds easy enough, but I imagine the Acive State package requires some
kind of licensing. I'm pre-installing on millions of consumer PCs.
Ah, so your group is responsible for all the "I've found Python on my
computer, what does it do and can I remove it" messages we saw last year?

You are right about ActiveState, the copy you download from their web
site is licensed to prohibit redistribution. They might be prepared to
cut you a special license, but you'd have to ask them about that.

I'm guessing Mark Hammond would be able to build you a silent installer
for a modest price.

Off-topic, I'd be very interested to learn anything you could tell us
about why HP are installing Python (what it's used for, what you
experience has been, &c). If this could be made public it would be nice
to include it as a "Python success story".

regards
Steve
(PSF PR Committee Chair)
 
L

Luke Skywalker

You are right about ActiveState, the copy you download from their web
site is licensed to prohibit redistribution. They might be prepared to
cut you a special license, but you'd have to ask them about that.

Does it mean it's not allowed to build an application with ActiveState
Python, and generate an installer that installs the whole thing,
forcing users to go to ActiveState's web site and download the
interpreter? Gee, that changes everything...

Luke.
 
S

Steve Holden

Luke said:
Does it mean it's not allowed to build an application with ActiveState
Python, and generate an installer that installs the whole thing,
forcing users to go to ActiveState's web site and download the
interpreter? Gee, that changes everything...

Luke.

Obviously the license agreement at
http://www.activestate.com/Products/ActivePython/license_agreement.plex
would be the authoritative statement. ActiveState do, however, license
their distribution for OEM purposes, as the links to the right of the
above-quoted page suggest.

However, the current Community License (v4) says: """ ...
2. You may make and give away verbatim copies of this Package for
personal use, or for use within your organization, provided that you
duplicate all of the original copyright notices and associated
disclaimers. You may not distribute copies of this Package, or copies of
packages derived from this Package, to others outside your organization
without specific prior written permission from ActiveState (although you
are encouraged to direct them to sources from which they may obtain it
for themselves). ..."""

This makes is pretty clear that if you plan to distribute outside your
own organization they expect you to get an OEM license if you want to
use their distribution.

regards
Steve
 
M

Matt Gerrans

You guessed correctly. Python is on HP (and Compaq now) PCs because I put
it there.

And yes, I did get the "I've found Python on my computer, what does it do
and can I remove it" from the support group. How to answer that? You
have a computer with Windows Script Host (JScript & VBScript) built in and
you want to remove Python? I think the best answer is "it does all kinds
of wonderful things! You can remove it, of course (easy enough, it is in
the "Add / Remove Programs" list, after all), but why don't you learn how to
use it instead? (I even unhooked the file association to prevent Python
file attachments in emails from giving a black eye to Python, so out of the
box, it was relatively safe).

I've use Python and the Win32 extensions for much of the automation of the
process that pre-installs all the software on the PCs. Of course, Python
is very versatile and is ideal for the wide range of tasks, large and small
that are involved. Being that it is both powerful and easy to learn (and
also because of no lack of evangelism (I hate that term, but don't have a
better synonym) on my part), it has been adopted as the main language used
by the whole division for build-automation related tasks. Before Python, I
wrote the tools in C++ and did scripting with JScript. I don't think I
have to tell anyone on this list how dramatic an increase in productivity
Python can give over these in many areas (there are a still a few areas
where the C++ tools reign, but Python also works well with those).

I was contacted by Kevin Altis and later Stephan Deibel about doing a Python
success story about this and I was game. I did start it, but didn't get
it finished in time for the Python Success Story book before OSCON 2004 in
July and have since put it on the back burner. I need to take a little
vacation from work, so I can finish that.

- Matt
 
P

Peter Hansen

Matt said:
You guessed correctly. Python is on HP (and Compaq now) PCs because I put
it there.

Do you think you could expand on the brief description about this
that is to be found in the following page?

http://www.python.org/doc/faq/installed.html

The python.org webmaster email address gets *lots* of requests
from innocent and ignorant users who are concerned about finding
this thing called "Python" on their new machines, and most of
them seem curiously more interested in removing it than in discovering
what it actually is there for.

The auto-response points them to the above page, I believe, and it
would perhaps save the webmaster types some time if there was a more
official HP version of the situation than the "Apparently some of
HP/Compaq's administrative tools are written in Python." comment that is
there now.

-Peter
 
B

Brad Tilley

Peter Hansen wrote:
.... innocent and ignorant users who are concerned about finding
this thing called "Python" on their new machines, and most of
them seem curiously more interested in removing it than in discovering
what it actually is there for.

This has been my experience as well. I don't have millions or even
thousands of users... only hundreds. However, this is the exact same
reason that I try to hide Python installs and make them unremovable. I
guess all of the Windows based Spyware and Adware have made people
overly cautious... if it looks suspicious, then remove it. To the
average user, the name 'Python' doesn't sound harmless either.
 
D

David Ascher

Steve said:
Obviously the license agreement at
http://www.activestate.com/Products/ActivePython/license_agreement.plex
would be the authoritative statement. ActiveState do, however, license
their distribution for OEM purposes, as the links to the right of the
above-quoted page suggest.

However, the current Community License (v4) says: """ ...
2. You may make and give away verbatim copies of this Package for
personal use, or for use within your organization, provided that you
duplicate all of the original copyright notices and associated
disclaimers. You may not distribute copies of this Package, or copies of
packages derived from this Package, to others outside your organization
without specific prior written permission from ActiveState (although you
are encouraged to direct them to sources from which they may obtain it
for themselves). ..."""

This makes is pretty clear that if you plan to distribute outside your
own organization they expect you to get an OEM license if you want to
use their distribution.

True -- however it's worth knowing that we often do zero-cost OEM
licensing in a variety of settings, such as magazine/book publishers,
etc. We take each request on a case-by-case basis, and we don't
particularly enjoy squeezing water out of stones [*]. We don't bite, so
people should feel free to email us if they have specific
questions/proposals.

As an interesting aside, HP licenses ActivePerl for their HP-UX
distributions as part of a more complex contract (we also maintain a
repository of Perl modules for easy installation of binary packages, etc.).

-- David Ascher
Managing Director & Chief Technologist
ActiveState -- Dynamic Tools for Dynamic Languages

[*] That expression is fun, but reminds me of how much water really _is_
in rocks. There's an amazing display at the Smithsonian in DC showing
how much equivalent liquid water is in a cubit foot (IIRC) of various
kinds of rocks. Stunning.
 
D

David Fraser

Thomas said:
There are no command line options for the distutils created installer,
and silent installation is not possible.

What I've often done is combine other people's extensions into my
package by importing stuff from their distutils setup scripts. Now that
pywin32 is using distutils this should be possible too :)

David
 
Joined
Jun 23, 2011
Messages
1
Reaction score
0
I know this is digging up a very old thread but I ran across this while I was researching how to silently install PyWin32 so I will share the answer for anyone else who happens to do the same.

(Instructions specific to Python 2.6.x but should be easy to adapt)

Extract the .exe installer (I use UniExtract http://legroom.net/software/uniextract)
It will create 2 directories PLATLIB and SCRIPTS copy the contents of both directores in to c:\python26\lib\site-packages
Then cd to c:\python26\lib\site-packages and run “python pywin32_postinstall.py -install”
Remove pywin32_postinstall.py
That will install PyWin32 silently.

You may not have to copy the script to site-packages or cd to that dir, but that is how I did it the first time and it worked, and I just haven’t tested it any other way.
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top