Misplacement of installed binaries

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Fri Jun 13 16:48:51 EDT 2008


On Fri, 2008-06-13 at 19:14 +0100, Neil Mitchell wrote:
> Hi,
> 
> Using Cabal-1.4 and cabal-install head, installing cabal-install puts
> the binary at:
> 
> "C:\Documents and Settings\Administrator\Application Data\cabal\bin"
> 
> That seems like a bad choice of location for installed program files
> on Windows. Application Data is not for putting binaries into.

So if Application Data is not a sensible place, what is the standard
location that users have write access to that is suitable for installing
programs?

> It is installing programs, and they should go in C:\Program
> Files\Haskell\bin, as they did with Cabal-1.2.

If you do a global install that is where they go. What has changed is
that cabal-install defaults to per-user installs.

At the moment for per-user installs we put everything under the cabal
dir. Admittedly this makes rather more sense on unix than on windows
since more people have admin access on windows and $HOME/.cabal is a
reasonable place to put things on unix.

> Is there a reason for changing the install location on Windows?

So we didn't deliberately change it as such. The location for global
installs has not changed, it's just that cabal-install does user
installs by default. You can do global ones with the --global flag or a
setting in the config file.

So if there's a more sensible layout for unprivileged per-user installs
then we should of course do that.

If you think unprivileged per-user installs are just a bad idea on
windows then say so and we can switch to doing global installs by
default on windows. Perhaps it's only me who does not have write access
to the Program Files directory on any windows machine.

Duncan



More information about the cabal-devel mailing list