#922: GRASS installer can not install unser "program files" (Windows7 only)
--------------------------+-------------------------------------------------
Reporter: naokiueda | Owner: grass-dev@lists.osgeo.org
Type: defect | Status: new
Priority: major | Milestone: 6.4.0
Component: Installation | Version: svn-releasebranch64
Keywords: WIndows7 | Platform: Unspecified
Cpu: Unspecified |
--------------------------+-------------------------------------------------
GRASS installer failed to install under "Program files", - folder name
contains space, and all are 'skipped' instead of 'extract'.
It can be installed directly under C:\ (root) folder.
It does NOT happened for windows XP. (I tested for Windows Xp Home
edition)
It happend for Windows7. (at least three computer with windows7 has same
problem)
The problem appears to be a failure of detecting/applying the Locale in
Windows7
The winGRASS installer keeps "C:\Programs and Files" while it should use
the translated path name. attached an example on an Italian Windwos7 PC
(likewise it fails for Japanese etc).
> The winGRASS installer keeps "C:\Programs and Files" while it should use
the translated path name. attached an example on an Italian Windwos7 PC
(likewise it fails for Japanese etc).
Is it using the location of a previous version? The installer checks for a
registry key:
{{{
ReadRegStr $INSTALL_PATH HKLM "Software\${GRASS_BASE}"
"InstallPath"
}}}
Forgot to mention that the screenshot shows all results of the search for
"ProgramFiles".
I didn't find a registry entry "ProgramFiles" but didn not check the
zillion of sections manually.
Replying to [comment:4 neteler]:
> On the Italian Windows7 box (btw: "Windows 7 Starter" version on a
netbook), it was the first time ever to install GRASS.
>
> Attached the screenshot of the registry settings (via regedit.exe).
can you go in c:\Programmi and then with the mouse in the line with the
path in the Windows file explorer. If i do this in a german Win7-Version,
first there is c:\Programme\Grass64-svn, but when i click in the line with
the path, there is c:\Program Files\Grass64-svn. So c:\Programmi should be
an alias for c:\Program Files?
Replying to [comment:6 hellik]:
> Replying to [comment:4 neteler]:
> > On the Italian Windows7 box (btw: "Windows 7 Starter" version on a
netbook), it was the first time ever to install GRASS.
> >
> > Attached the screenshot of the registry settings (via regedit.exe).
>
> can you go in c:\Programmi and then with the mouse in the line with the
path in the Windows file explorer. If i do this in a german Win7-Version,
first there is c:\Programme\Grass64-svn, but when i click in the line with
the path, there is c:\Program Files\Grass64-svn. So c:\Programmi should be
an alias for c:\Program Files?
>
> Helmut
could this a issue with the UAC in Win7. If i do an installation without a
right click and "run as administrator" (also with other software), the
installer starts, but nothing is installed in c:\Program Files\ ?
Replying to [comment:6 hellik]:
> Replying to [comment:4 neteler]:
> > On the Italian Windows7 box ...
> can you go in c:\Programmi and then with the mouse in the line with the
path in the Windows file explorer.
Yes, there is first C:\Programmi\ and when I click in the line with the
path, there is c:\Program Files.
But in this directory there is no GRASS at all. Also: the icons on the
desktop are empty, so it appears to be a broken installation.
Replying to [comment:7 hellik]:
> Replying to [comment:6 hellik]:
> could this a issue with the UAC in Win7.
Apparently yes: as for the original reporter, always "Skipped" appears. So
the locale is not the issue but the problem that I cannot write in
"c:\Program Files".
When installing instead in C:\user\somebody\Documents\GRASS-64-SVN\ it
works ok. So "c:\Program Files" seems to be protected.
Suggestion: on Windows7, use a different default path.
Replying to [comment:9 cristn]:
> Replying to [comment:7 hellik]:
> > Replying to [comment:6 hellik]:
> > could this a issue with the UAC in Win7.
>
> Apparently yes: as for the original reporter, always "Skipped" appears.
So the locale is not the issue but the problem that I cannot write in
"c:\Program Files".
>
> When installing instead in C:\user\somebody\Documents\GRASS-64-SVN\ it
works ok. So "c:\Program Files" seems to be protected.
>
is the installer working (means installing in c:\Program Files) for you
with mouse right click and "run as administrator"?
this works for me on WinVista and Win7, both german versions. and I have
to do the right click on my WinVista box for installing for all kind of
software (firefox, filezilla, openoffice, ghostscript, ...)
Replying to [comment:5 neteler]:
> Forgot to mention that the screenshot shows all results of the search
for "`ProgramFiles`".
> I didn't find a registry entry "`ProgramFiles`" but did not check the
zillion of sections manually.
`ProgramFiles` is an environment variable, not a registry entry. Type:
{{{
set programfiles
}}}
at a command prompt to see its value.
The value is set from the registry key
{{{
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir
}}}
The GRASS-Installer.nsi file doesn't contain any hard-coded reference to
"Program Files"; it uses the $PROGRAMFILES variable, which the installer
is supposed to auto-detect at run-time.
Replying to [comment:11 glynn]:
> Replying to [comment:5 neteler]:
> `ProgramFiles` is an environment variable, not a registry entry. Type:
> {{{
> set programfiles
> }}}
> at a command prompt to see its value.
Replying to [comment:10 hellik]:
> Replying to [comment:9 cristn]:
> > Replying to [comment:7 hellik]:
> > > Replying to [comment:6 hellik]:
> > > could this a issue with the UAC in Win7.
> >
> > Apparently yes: as for the original reporter, always "Skipped"
appears. So the locale is not the issue but the problem that I cannot
write in "c:\Program Files".
> >
> > When installing instead in C:\user\somebody\Documents\GRASS-64-SVN\ it
works ok. So "c:\Program Files" seems to be protected.
>
> is the installer working (means installing in c:\Program Files) for you
with mouse right click and "run as administrator"?
It works like this and no longer skips files when installing.
Great (but not obvious...)
Replying to [comment:13 cristn]:
> Replying to [comment:10 hellik]:
> > Replying to [comment:9 cristn]:
> > > Replying to [comment:7 hellik]:
> > > > Replying to [comment:6 hellik]:
> > > > could this a issue with the UAC in Win7.
> > >
> > > Apparently yes: as for the original reporter, always "Skipped"
appears. So the locale is not the issue but the problem that I cannot
write in "c:\Program Files".
> > >
> > > When installing instead in C:\user\somebody\Documents\GRASS-64-SVN\
it works ok. So "c:\Program Files" seems to be protected.
> >
> > is the installer working (means installing in c:\Program Files) for
you with mouse right click and "run as administrator"?
>
> It works like this and no longer skips files when installing.
> Great (but not obvious...)
>
> Cris
Replying to [comment:14 hellik]:
> Replying to [comment:13 cristn]:
> > Replying to [comment:10 hellik]:
> > > Replying to [comment:9 cristn]:
> > > > Replying to [comment:7 hellik]:
...
> > > is the installer working (means installing in c:\Program Files) for
you with mouse right click and "run as administrator"?
> >
> > It works like this and no longer skips files when installing.
> > Great (but not obvious...)
> >
> > Cris
>
> so can we close the ticket?
Could anything be done to make this more obvious on Windows7? I expect
that
the majority of users won't have the idea to use the right mouse button
etc.
Replying to [comment:15 neteler]:
> Replying to [comment:14 hellik]:
> > Replying to [comment:13 cristn]:
> > > Replying to [comment:10 hellik]:
> > > > Replying to [comment:9 cristn]:
> > > > > Replying to [comment:7 hellik]:
> ...
> > > > is the installer working (means installing in c:\Program Files)
for you with mouse right click and "run as administrator"?
> > >
> > > It works like this and no longer skips files when installing.
> > > Great (but not obvious...)
> > >
> > > Cris
> >
> > so can we close the ticket?
>
> Could anything be done to make this more obvious on Windows7? I expect
that
> the majority of users won't have the idea to use the right mouse button
etc.
>
> Markus
IMHO "right click and ''run as administrator''" for installing a software
in WinVista/Win7 is the "normal" way to install software on the Windows-
box (i have to do this on all WinVista/Win7-out-of-the-box-machines, that
i know, and for all kind of softwares (opensource and proprietary) and
often noted in README-files etc. for the software).
OTOH there would be an option for the NSIS-installer to request the user
if he really wants to install in "c:\Program Files\", but AFAIK there's no
option to install a software in WinVista/Win7 in a "protected" folder like
"c:\Program Files\" without a user interaction, as long as you tweak your
Windows-installation.
I just got a report that when GRASS is installed under C:\Program Files
"Add vector" causes python.exe to crash for WinGRASS64 r41105 and
WinGRASS65 r41099.
[[BR]]
There is no problem if it is installed under C:\Grass64.
The feedback that I am getting from WinGRASS users here is that they
prefer GRASS installed under
its own directory, such as C:\Grass64.
I have no opinion on this as I am not a Windows user and I can imagine
that the preferences
would differ for users with different backgrounds, but maybe the previous
approach under C:\GRASS... was less problematic?[[BR]]
Helena:
> maybe the previous approach under C:\GRASS... was less problematic?
I'll admit that I've sort of come around to the idea that flushing out as
many of these bugs / microsoftisms as we can now in one big push is
preferable to letting them slowly trickle in slowly over the next year..
We can put a warning on the WinGrass download page that Windows 7 is still
only lightly tested and here are some tips... (right click to install, if
you experience problems try reinstalling it in c:\grass64\, etc.)
Microsoft users will be more accustomed to reinstalling software to
magically solve problems, so we shouldn't get too many weird looks for
suggesting users try that if python flakes out.
> I have no opinion on this as I am not a Windows user and I can imagine
that the preferences
> would differ for users with different backgrounds, but maybe the
previous approach under C:\GRASS... was less problematic?
It's a case of different problems rather than more or fewer problems. The
main problem with using C:\GRASS is that users may not have permission to
create subdirectories of C:\. Some users may be unable to install GRASS
anywhere other than their "My Documents" directory.
For that reason, we '''need''' to find and fix these bugs before 6.4.0 is
released.