Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #74570 > unrolled thread

Re: how to msi install Python to non-default target dir?

Started byZachary Ware <zachary.ware+pylist@gmail.com>
First post2014-07-16 11:45 -0500
Last post2014-07-16 11:45 -0500
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: how to msi install Python to non-default target dir? Zachary Ware <zachary.ware+pylist@gmail.com> - 2014-07-16 11:45 -0500

#74570 — Re: how to msi install Python to non-default target dir?

FromZachary Ware <zachary.ware+pylist@gmail.com>
Date2014-07-16 11:45 -0500
SubjectRe: how to msi install Python to non-default target dir?
Message-ID<mailman.11888.1405529580.18130.python-list@python.org>
On Wed, Jul 16, 2014 at 9:33 AM, Albert-Jan Roskam <fomcl@yahoo.com> wrote:
> From: Zachary Ware <zachary.ware+pylist@gmail.com>
>> Also, 'set' doesn't require quotes
>> around a value with spaces, and you're also quoting %PYTHONDIR% when
>> you use it in the msiexec command, so you're actually double-quoting
>> the dir name (which could also be the issue).
>
> That was it, thank you!!

Glad I could help :)

>> And, not necessarily an
>> issue that would prevent installing, but you may want to make sure
>> you're in the correctly-bitted Program Files directory if you're on
>> 64-bit Windows (%PROGRAMFILES% for 64-bit, %PROGRAMFILES(x86)% for
>> 32-bit; %PROGRAMFILES(x86)% will not be defined on 32-bit Windows or
>> in a 32-bit process on 64-bit Windows).
>
> Good point. The easiest solution would be to write one .bat for 32bit and one for 64bit.

You could also do something like (untested, but I've used similar in
the Doc/make.bat script):

   if DEFINED ProgramFiles(x86) set 64bitext=.amd64
   set PYTHONDIR=%ProgramFiles%\Python27
   set PYTHONMSI=python-2.7.3%64bitext%.msi
   msiexec /i %PYTHONMSI% TARGETDIR="%PYTHONDIR%" /qb

That's for 64-bit Python on 64-bit Windows, 32-bit Python on 32-bit
Windows.  Or:

   if DEFINED ProgramFiles(x86) set PgrmFls=%ProgramFiles(x86)%
   if NOT DEFINED ProgramFiles(x86) set PgrmFls=%ProgramFiles%
   set PYTHONDIR=%PgrmFls%\Python27
   msiexec /i python-2.7.3.msi TARGETDIR="%PYTHONDIR%" /qb

for 32-bit Python on either platform.

-- 
Zach

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web