Ticket #166 (closed todo: fixed)

Opened 13 years ago

Last modified 13 years ago

Install path on Win32

Reported by: whiteknight Owned by: rurban
Priority: normal Milestone: 1.0
Component: none Version: trunk
Severity: medium Keywords: install
Cc: Language:
Patch status: applied Platform: win32


I just tried installing Parrot today on my Win32 machine. I didn't specify any particular paths, instead using the defaults.

On Win32 "make reallyinstall" installs parrot to c:\usr\runtime\* when it really should install to C:\Program Files\Parrot\*.

This doesn't even get to any of the other Win32 nastyness that our installer should deal with (adding C:\Program Files\Parrot\bin\ to the PATH, adding *.PASM and *.PIR file associations in the registry, etc).

Getting a good installer or install target working on Win32 is probably important for the 1.0 release.

Change History

  Changed 13 years ago by coke

FYI, shortly after every release, François Perrad sends out an email pointing to:


Which provides prebuilt binaries; If we want more control over the install on windows, following the path here with inno setup is probably better than expecting folks to run 'make install' after building their own.

  Changed 13 years ago by whiteknight

In that case, it might make sense on Win32 to disable "make install" and "make reallyinstall" and have them instead post a message about the precompiled binaries.

  Changed 13 years ago by coke

I think that disabling it is overkill. Perhaps a warning.

Of course, I'm not saying /don't/ fix it in the makefile, merely trying to prioritize our effort.

in reply to: ↑ description   Changed 13 years ago by jkeenan

  Changed 13 years ago by fperrad

"make reallyinstall" could install parrot from its build tree to C:\Program Files\Parrot\*, if you tell it in the configure step before building :

perl Configure.pl --prefix="somewhere"

Dealing with PATH and file associations is a job for Inno Setup, when you install a prebuilt binary, not for "make reallyinstall".

  Changed 13 years ago by rurban

  • status changed from new to assigned
  • owner set to rurban

The wrong win32 path defaults should be fixed in config/init/install.pm I'll take it.

my $prefix = $conf->options->get('prefix') "/usr/local";

  Changed 13 years ago by rurban

  • patch set to applied

I rather want to make C:/Parrot the default win32 prefix

This is 1. analog to ActivePerl, strawberry and vanilla perl, and 2. it is technically hard to get the ${PROGRAMFILES} path if undefined, and without perl libwin32.

Done with r35927.

  Changed 13 years ago by fperrad

I prefer /Parrot instead of C:/Parrot, because it allows installation in any drive.

See  http://parrotwin32.wiki.sourceforge.net/

  Changed 13 years ago by rurban

Changing prefix "C:/Parrot" to "/Parrot" will not work, because prefix must be absolute. This way it is relative to the current drive and invocations from other drives will fail to find libraries.

  Changed 13 years ago by rurban

  • status changed from assigned to closed
  • resolution set to fixed

C:/Parrot applied as r35927

versioned subdirectories untested on win32

Note: See TracTickets for help on using tickets.