RE: [Haskell-cafe] Cabal install on Windows 7
- use windows API for requesting elevation during the process (ugly) If it really has to be done, then this seems like the best approach. In principle there's no problem with calling funky win32 functions in Cabal, it's mostly a matter of working out what bahaviour we want and what UAC lets us do. To achieve this, a candidate solution would be: - to have a separate executable with a manifest indicating that administrator privilege are needed (and, ideally, signed) and able to perform the tasks necessitating elevation - from cabal, to run this separate process (calling shellexecute) exactly at the point when elevation is needed - alternatively, it might be possible to try the operation, catch the exception that would happen if it fails, and call the separate process in this case (see: http://stackoverflow.com/questions/17533/request-vista-uac-elevation-if-path -is-protected#17544) The advantage is that, with this solution, users only use cabal and the elevation is performed when needed. By contrast, the other suggested solution of having two executables (cabal-user and cabal-global) leaves the choice of elevating cabal to the user and only needs to modify the build process (no code changed in cabal). Its drawback is that elevation will be requested even when unnecessary every time cabal-global is launched. So a first task would be to identify the cases where cabal needs to run with elevated rights and the task to perform in that case. - Is cabal going to be modified to use AppData for library install? - If this is the case, then writing in protected folders would be only for binary install (with cabal install). Are there other cases? - If this is not the case, then writing in protected folder is for all package install when in global mode...other cases? - Am I missing operations where cabal would need admin privileges? For instance, may cabal need to modify some environment variable? Cheers, Regis ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
It is possible for an executable with less privileges to shellexecute an executable that requires admin rights? Won't this immediately raise an access denied or other security exception again? Don't know, it might be possible, but it's worth to check it out before going this route (which is rather clever IMHO :) On Tue, Sep 15, 2009 at 10:14 AM, Regis Saint-Paul regis.saint-p...@create-net.org wrote: - use windows API for requesting elevation during the process (ugly) If it really has to be done, then this seems like the best approach. In principle there's no problem with calling funky win32 functions in Cabal, it's mostly a matter of working out what bahaviour we want and what UAC lets us do. To achieve this, a candidate solution would be: - to have a separate executable with a manifest indicating that administrator privilege are needed (and, ideally, signed) and able to perform the tasks necessitating elevation - from cabal, to run this separate process (calling shellexecute) exactly at the point when elevation is needed - alternatively, it might be possible to try the operation, catch the exception that would happen if it fails, and call the separate process in this case (see: http://stackoverflow.com/questions/17533/request-vista-uac-elevation-if-path -is-protected#17544) The advantage is that, with this solution, users only use cabal and the elevation is performed when needed. By contrast, the other suggested solution of having two executables (cabal-user and cabal-global) leaves the choice of elevating cabal to the user and only needs to modify the build process (no code changed in cabal). Its drawback is that elevation will be requested even when unnecessary every time cabal-global is launched. So a first task would be to identify the cases where cabal needs to run with elevated rights and the task to perform in that case. - Is cabal going to be modified to use AppData for library install? - If this is the case, then writing in protected folders would be only for binary install (with cabal install). Are there other cases? - If this is not the case, then writing in protected folder is for all package install when in global mode...other cases? - Am I missing operations where cabal would need admin privileges? For instance, may cabal need to modify some environment variable? Cheers, Regis ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] Cabal install on Windows 7
On Thu, 2009-09-10 at 15:18 +0200, Regis Saint-Paul wrote: One way in which cabal can be made UAC aware (and therefore request for elevation privileges instead of just failing) would be to embed a manifest in the cabal.exe. This can be done by changing the default manifest (an XML file) that is embedded at link time by GHC. However, a problem with this approach is that cabal.exe as a whole would be seen as needing administrator privilege, regardless of whether the setting is global or user. If we want to request admin privileges only when actually needed (i.e., when writing in a protected folder). To address this, there are several options: - have two distinct executables for cabal, cabal-global and cabal-user with different manifest - use windows API for requesting elevation during the process (ugly) If it really has to be done, then this seems like the best approach. In principle there's no problem with calling funky win32 functions in Cabal, it's mostly a matter of working out what bahaviour we want and what UAC lets us do. Also, the AppData folder is for application data, not for the application itself. I'm not sure how far one needs to go in terms of well-behaving for windows when it comes to multi-platform applications. I'd like to point out the Application Compatibility Toolkit which allows testing if an application is well behaved for vista and 7 and provides guidelines for that (it's a free download): You can use also on XP to test for vista and 7. I tried running it with cabal install somepackage and it points out a number of privilege errors. Thanks for that. Note that if cabal was writing packages in AppData instead of program files, then the problem would only surface when cabal install moves executable in the bin directory. It seems to me that the cygwin/mingw and, more generally, the GNU way of dealing with windows is to mainly ignore the directory structure of windows and install things in a separate directory chosen by the user (possibly in program files or elsewhere), requesting the user to manually change the path accordingly. That could be a solution to consider too. Our aim is really to do things the proper way on each platform. We follow FSH/autoconf conventions on Unix and we aim to do the right thing on Windows and OSX. The main issue is that there's not many of us who are familiar with what the right thing is on the other platforms. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
Actually, this UAC was already present in Vista no? On Thu, Sep 10, 2009 at 4:18 AM, Jeff Wheeler j...@nokrev.com wrote: On Wed, Sep 9, 2009 at 2:19 PM, Sebastian Sylvansebastian.syl...@gmail.com wrote: I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. I strongly agree. Presently, on Windows 7, I have to right-click and Run As Administrator and then approve the process via UAC to get anything done under the default --global setting, in much the same way I would have to launch a root terminal and provide my password within GNOME (a la gksu) or other *nix environments (Windows doesn't have anything like sudo, as far as I know). Since it works essentially the same as *nix does, as of Windows 7, I see no reason for a different default. Jeff Wheeler ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
Interestingly, a sudo for Windows does seem to exist. It's called the runas command. At first sight it existed already since Windows XP Also on Sourceforge an open source sudo command for Windows is hosted: http://sourceforge.net/projects/sudowin On Thu, Sep 10, 2009 at 11:21 AM, Peter Verswyvelen bugf...@gmail.com wrote: Actually, this UAC was already present in Vista no? On Thu, Sep 10, 2009 at 4:18 AM, Jeff Wheeler j...@nokrev.com wrote: On Wed, Sep 9, 2009 at 2:19 PM, Sebastian Sylvansebastian.syl...@gmail.com wrote: I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. I strongly agree. Presently, on Windows 7, I have to right-click and Run As Administrator and then approve the process via UAC to get anything done under the default --global setting, in much the same way I would have to launch a root terminal and provide my password within GNOME (a la gksu) or other *nix environments (Windows doesn't have anything like sudo, as far as I know). Since it works essentially the same as *nix does, as of Windows 7, I see no reason for a different default. Jeff Wheeler ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
On Wed, 2009-09-09 at 20:19 +0100, Sebastian Sylvan wrote: On Wed, Sep 9, 2009 at 1:28 PM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: If the Windows users can come to a consensus on whether the default should be global or user, then we can easily switch it. The same applies for the default global or user installation paths. I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. So is it just a matter of switching the default, or do the default user paths have to change too? Is there any recommended/sensible place for installing per-user applications on Windows? (I think there wasn't on XP, but perhaps that's changed on Vista/Win7) Have you tried running with user as the default for a while? Does it work ok? Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
On Thu, Sep 10, 2009 at 10:58 AM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: On Wed, 2009-09-09 at 20:19 +0100, Sebastian Sylvan wrote: On Wed, Sep 9, 2009 at 1:28 PM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: If the Windows users can come to a consensus on whether the default should be global or user, then we can easily switch it. The same applies for the default global or user installation paths. I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. So is it just a matter of switching the default, or do the default user paths have to change too? Is there any recommended/sensible place for installing per-user applications on Windows? (I think there wasn't on XP, but perhaps that's changed on Vista/Win7) I think it's %LOCALAPPDATA% -- Sebastian Sylvan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
On Wed, 2009-09-09 at 21:18 -0500, Jeff Wheeler wrote: On Wed, Sep 9, 2009 at 2:19 PM, Sebastian Sylvansebastian.syl...@gmail.com wrote: I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. I strongly agree. Presently, on Windows 7, I have to right-click and Run As Administrator and then approve the process via UAC to get anything done under the default --global setting And when you switch the default to user installs (by editing the config file) does everything work ok then? I'm trying to work out if we switch the default default, if it'll just work, or if there are further problems to solve. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
2009/9/10 Sebastian Sylvan sebastian.syl...@gmail.com: On Thu, Sep 10, 2009 at 10:58 AM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: On Wed, 2009-09-09 at 20:19 +0100, Sebastian Sylvan wrote: On Wed, Sep 9, 2009 at 1:28 PM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: If the Windows users can come to a consensus on whether the default should be global or user, then we can easily switch it. The same applies for the default global or user installation paths. I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. So is it just a matter of switching the default, or do the default user paths have to change too? Is there any recommended/sensible place for installing per-user applications on Windows? (I think there wasn't on XP, but perhaps that's changed on Vista/Win7) I think it's %LOCALAPPDATA% -- Sebastian Sylvan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe Is there any %LOCALAPPDATA% on Windows XP? If not, what is the difference between %LOCALAPPDATA% and %APPDATA% in Windows Vista/7? I was thinking if it's not unreasonable to store Cabal stuff in %APPDATA%, one might as well use that and cover XP, Vista and 7 all in one. -- Deniz Dogan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
No Windows XP did not have support for roaming profiles yet I think. But it wouldn't be too difficult to use %LOCALAPPDATA% first, and when it doesn't exist, use %APPDATA%? This article explains a lot about the differences; I didn't have time yet to read it in detail http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx What other software sometimes does (like Autodesk Maya), is just create a folder in the My Documents logical folder. I personally don't like this. On Thu, Sep 10, 2009 at 1:16 PM, Deniz Dogan deniz.a.m.do...@gmail.com wrote: 2009/9/10 Sebastian Sylvan sebastian.syl...@gmail.com: On Thu, Sep 10, 2009 at 10:58 AM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: On Wed, 2009-09-09 at 20:19 +0100, Sebastian Sylvan wrote: On Wed, Sep 9, 2009 at 1:28 PM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: If the Windows users can come to a consensus on whether the default should be global or user, then we can easily switch it. The same applies for the default global or user installation paths. I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. So is it just a matter of switching the default, or do the default user paths have to change too? Is there any recommended/sensible place for installing per-user applications on Windows? (I think there wasn't on XP, but perhaps that's changed on Vista/Win7) I think it's %LOCALAPPDATA% -- Sebastian Sylvan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe Is there any %LOCALAPPDATA% on Windows XP? If not, what is the difference between %LOCALAPPDATA% and %APPDATA% in Windows Vista/7? I was thinking if it's not unreasonable to store Cabal stuff in %APPDATA%, one might as well use that and cover XP, Vista and 7 all in one. -- Deniz Dogan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] Cabal install on Windows 7
One way in which cabal can be made UAC aware (and therefore request for elevation privileges instead of just failing) would be to embed a manifest in the cabal.exe. This can be done by changing the default manifest (an XML file) that is embedded at link time by GHC. This is supported by GHC through compilation options. It could be used when building cabal for windows. The manifest itself is simple, it just needs one additional line to say it requires admin privileges. All details are here: http://msdn.microsoft.com/en-us/library/bb756929.aspx However, a problem with this approach is that cabal.exe as a whole would be seen as needing administrator privilege, regardless of whether the setting is global or user. If we want to request admin privileges only when actually needed (i.e., when writing in a protected folder). To address this, there are several options: - have two distinct executables for cabal, cabal-global and cabal-user with different manifest - use windows API for requesting elevation during the process (ugly) - use shellexecute command for running a process performing just the task that needs elevated privileges. Someone mentioned the runas command. But unlike su on linux, runas only changes the user, not the privileges attached to it. That is, on VISTA and 7, even admin users are seen as standard user unless they explicitly acknowledge they want to elevate a process with admin rights. So if you need admin rights while running as admin, you are only prompted for yes or no, while if you need admin rights as a non-admin user, you are also prompted for admin pass. This was done do address the legacy problem that everyone was using windows as admin in the first place. Also, the AppData folder is for application data, not for the application itself. I'm not sure how far one needs to go in terms of well-behaving for windows when it comes to multi-platform applications. I'd like to point out the Application Compatibility Toolkit which allows testing if an application is well behaved for vista and 7 and provides guidelines for that (it's a free download): http://www.microsoft.com/downloads/details.aspx?FamilyID=24da89e9-b581-47b0- b45e-492dd6da2971DisplayLang=en you may also need to download the application verifier here: http://www.microsoft.com/downloads/details.aspx?FamilyID=c4a25ab9-649d-4a1b- b4a7-c9d8b095df18DisplayLang=en You can use also on XP to test for vista and 7. I tried running it with cabal install somepackage and it points out a number of privilege errors. Note that if cabal was writing packages in AppData instead of program files, then the problem would only surface when cabal install moves executable in the bin directory. It seems to me that the cygwin/mingw and, more generally, the GNU way of dealing with windows is to mainly ignore the directory structure of windows and install things in a separate directory chosen by the user (possibly in program files or elsewhere), requesting the user to manually change the path accordingly. That could be a solution to consider too. Hope this helps a bit, Regis ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
Hi Regis, - use windows API for requesting elevation during the process (ugly) Why is this ugly? This seems like an elegant solution, to get privileges only when you actually need them? Gr. Matthijs signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] Cabal install on Windows 7
I'm not familiar with cabal source code enough to actually assess how much of a problem it would be but I assumed so because: - one would need to identify the exact location in the cabal code where elevation will be required. That means one would have to check if a folder where cabal wishes to write is or not protected. For users who install outside of program files (under msys for instance), failing to do so would raise unnecessary UAC elevation requests - this would create a less portable code overall (I do not know the extent of windows/linux specific code in cabal code base, but it seems to be very small at this stage). By comparison, the manifest option only requires modifying the build process, leaving the code unaffected. On the other hand, this solution is clearly the best if the objective is to become fully compliant with windows recommendations. To have a nice UAC warning, it would also take to create a signed certificate, etc...(or we just get something like An unidentified program wants to access your computer instead of the windows needs your permission to continue. And probably other side issues to consider. So you are right, ugly is not appropriate. It just builds down to more work and more platform specific code. Cheers, Regis -Original Message- From: Matthijs Kooijman [mailto:matth...@stdin.nl] Sent: Thursday, 10 September 2009 3:25 PM To: Regis Saint-Paul Cc: haskell-cafe@haskell.org; 'Duncan Coutts' Subject: Re: [Haskell-cafe] Cabal install on Windows 7 Hi Regis, - use windows API for requesting elevation during the process (ugly) Why is this ugly? This seems like an elegant solution, to get privileges only when you actually need them? Gr. Matthijs ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] Cabal install on Windows 7
One last note as it may be confusing in previous message...I mention to use windows API, but there is no API per-se that can elevate a process already running. It takes to create another process which, at startup time, will popup the elevation dialog. The win32 function to call is therefore just the shellexecute(). --Regis ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
On Tue, 2009-09-08 at 09:58 -0500, Jeff Wheeler wrote: On Tue, Sep 8, 2009 at 9:17 AM, Peter Verswyvelenbugf...@gmail.com wrote: Ouch, right, I forgot the default is global. It works fine with cabal install --user. And of course I could have edited the default config file, setting user-install: True Well, maybe for newbies this might be a bit confusing. Yep, I agree. I'm not sure why Cabal defaults to --global on Windows, but I found it quite counter-intuitive having come from a Linux environment. I forgot about the different default for some time. It was because last time we discussed this, the Windows users seemed to be of the opinion that things were simpler with global installs since the %PATH% would be right by default and everyone runs as Administrator anyway. That may well be different now. If the Windows users can come to a consensus on whether the default should be global or user, then we can easily switch it. The same applies for the default global or user installation paths. If there are any Windows users who understand the Windows permissions system then the Cabal hackers would appreciate some help. As it is the Cabal hackers have no access to Vista or Win7 and cannot test what is actually going on with Windows permissions or pop-up windows prompting whether it's ok to do this or that. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
Yes, it's true that most people tended to be administrators on their own Windows desktops, but since Vista, this has changed. Now in Vista, some people still forced admin rights, to get rid of the many annoying dialog boxes that popped up for every tiny task that might be a security breach. But it seems that under Windows 7 this is less intrusive, so we might consider having the Haskell Platform work well by default without assuming admin rights? Or at least the installer should clearly tell you about it, or provide an option. On Wed, Sep 9, 2009 at 2:28 PM, Duncan Couttsduncan.cou...@worc.ox.ac.uk wrote: On Tue, 2009-09-08 at 09:58 -0500, Jeff Wheeler wrote: On Tue, Sep 8, 2009 at 9:17 AM, Peter Verswyvelenbugf...@gmail.com wrote: Ouch, right, I forgot the default is global. It works fine with cabal install --user. And of course I could have edited the default config file, setting user-install: True Well, maybe for newbies this might be a bit confusing. Yep, I agree. I'm not sure why Cabal defaults to --global on Windows, but I found it quite counter-intuitive having come from a Linux environment. I forgot about the different default for some time. It was because last time we discussed this, the Windows users seemed to be of the opinion that things were simpler with global installs since the %PATH% would be right by default and everyone runs as Administrator anyway. That may well be different now. If the Windows users can come to a consensus on whether the default should be global or user, then we can easily switch it. The same applies for the default global or user installation paths. If there are any Windows users who understand the Windows permissions system then the Cabal hackers would appreciate some help. As it is the Cabal hackers have no access to Vista or Win7 and cannot test what is actually going on with Windows permissions or pop-up windows prompting whether it's ok to do this or that. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
On Wed, 2009-09-09 at 16:59 +0200, Peter Verswyvelen wrote: Yes, it's true that most people tended to be administrators on their own Windows desktops, but since Vista, this has changed. Now in Vista, some people still forced admin rights, to get rid of the many annoying dialog boxes that popped up for every tiny task that might be a security breach. But it seems that under Windows 7 this is less intrusive, so we might consider having the Haskell Platform work well by default without assuming admin rights? Or at least the installer should clearly tell you about it, or provide an option. It's always been my view that it should work without admin privileges. It's only been very recently that I've had access to a Windows installation where I am admin. What you need to do is to get the Windows users to agree on what the sensible defaults should be. If you conclude that actually it needs something more complicated like interacting with Windows UAC or something then we'll need to find a volunteer Windows hacker who can implement it. The situation we have at the moment is people complaining but nobody taking action. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
On Wed, Sep 9, 2009 at 1:28 PM, Duncan Coutts duncan.cou...@worc.ox.ac.ukwrote: On Tue, 2009-09-08 at 09:58 -0500, Jeff Wheeler wrote: On Tue, Sep 8, 2009 at 9:17 AM, Peter Verswyvelenbugf...@gmail.com wrote: Ouch, right, I forgot the default is global. It works fine with cabal install --user. And of course I could have edited the default config file, setting user-install: True Well, maybe for newbies this might be a bit confusing. Yep, I agree. I'm not sure why Cabal defaults to --global on Windows, but I found it quite counter-intuitive having come from a Linux environment. I forgot about the different default for some time. It was because last time we discussed this, the Windows users seemed to be of the opinion that things were simpler with global installs since the %PATH% would be right by default and everyone runs as Administrator anyway. That may well be different now. If the Windows users can come to a consensus on whether the default should be global or user, then we can easily switch it. The same applies for the default global or user installation paths. I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. -- Sebastian Sylvan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
On Wed, Sep 9, 2009 at 2:19 PM, Sebastian Sylvansebastian.syl...@gmail.com wrote: I think it's morally right to run as user by default. Yes, the windows culture has some legacy that may, on occasion, make it slightly harder to use well behaved programs, but it's fairly minor these days. I strongly agree. Presently, on Windows 7, I have to right-click and Run As Administrator and then approve the process via UAC to get anything done under the default --global setting, in much the same way I would have to launch a root terminal and provide my password within GNOME (a la gksu) or other *nix environments (Windows doesn't have anything like sudo, as far as I know). Since it works essentially the same as *nix does, as of Windows 7, I see no reason for a different default. Jeff Wheeler ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
On Tue, Sep 8, 2009 at 9:17 AM, Peter Verswyvelenbugf...@gmail.com wrote: Ouch, right, I forgot the default is global. It works fine with cabal install --user. And of course I could have edited the default config file, setting user-install: True Well, maybe for newbies this might be a bit confusing. Yep, I agree. I'm not sure why Cabal defaults to --global on Windows, but I found it quite counter-intuitive having come from a Linux environment. I forgot about the different default for some time. Jeff Wheeler ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
Ouch, right, I forgot the default is global. It works fine with cabal install --user. And of course I could have edited the default config file, setting user-install: True Well, maybe for newbies this might be a bit confusing. Typically, under Windows Vista or 7 when you try to install something that requires admin rights, you get a popup window asking if it's okay to do so. Would be great to have this support built into Cabal? On Tue, Sep 8, 2009 at 3:45 PM, John Van Enkvane...@gmail.com wrote: Might it make sense to try and get the concept of global and user working in Windows? (It may already, but I noticed that the default seems to be global.) I don't know what technical challenges there are, but the ApplicationData directory (or AppData, or whatever) seems like a good place to stick user cabal packages. /jve On Tue, Sep 8, 2009 at 9:31 AM, Peter Verswyvelen bugf...@gmail.com wrote: I tried the cabal install command on Windows 7, and I had to run it with administrative privileges, otherwise I got access denied (it failed to create the Haskell folder in C:\Program Files) Not sure if this is also the case on Vista. Is this the intended behavior? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install on Windows 7
Might it make sense to try and get the concept of global and user working in Windows? (It may already, but I noticed that the default seems to be global.) I don't know what technical challenges there are, but the ApplicationData directory (or AppData, or whatever) seems like a good place to stick user cabal packages. /jve On Tue, Sep 8, 2009 at 9:31 AM, Peter Verswyvelen bugf...@gmail.com wrote: I tried the cabal install command on Windows 7, and I had to run it with administrative privileges, otherwise I got access denied (it failed to create the Haskell folder in C:\Program Files) Not sure if this is also the case on Vista. Is this the intended behavior? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe