Opened 14 years ago

Closed 12 years ago

#922 closed defect (fixed)

GRASS installer can not install unser "program files" (Windows7 only)

Reported by: naokiueda Owned by: grass-dev@…
Priority: major Milestone: 6.4.0
Component: Installation Version: svn-releasebranch64
Keywords: wingrass, WIndows7 Cc: cristn
CPU: Unspecified Platform: MSWindows 7

Description

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)

installer is this http://josef.fsv.cvut.cz/wingrass/grass64/ WinGRASS-6.4.SVN-r40898-1-Setup.exe 10-Feb-2010 03:47 89M

Attachments (2)

windows7.png (111.2 KB ) - added by neteler 14 years ago.
Locale detection failure on Windows7 for "C:\ Programs and Files"
windows7_registry.jpg (50.2 KB ) - added by neteler 14 years ago.
windows7 registry excerpt

Download all attachments as: .zip

Change History (28)

by neteler, 14 years ago

Attachment: windows7.png added

Locale detection failure on Windows7 for "C:\ Programs and Files"

comment:1 by neteler, 14 years ago

Cc: cristn added
Keywords: wingrass added

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).

Interestingly, it works on XP and Vista.

Markus

comment:2 by neteler, 14 years ago

Platform: UnspecifiedMSWindows 7

comment:3 by glynn, 14 years ago

Replying to neteler:

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"

Also, is %ProgramFiles% set correctly?

comment:4 by neteler, 14 years ago

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).

by neteler, 14 years ago

Attachment: windows7_registry.jpg added

windows7 registry excerpt

comment:5 by neteler, 14 years ago

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.

in reply to:  4 ; comment:6 by hellik, 14 years ago

Replying to 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

in reply to:  6 ; comment:7 by hellik, 14 years ago

Replying to hellik:

Replying to 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\ ?

Helmut

in reply to:  6 comment:8 by cristn, 14 years ago

Replying to hellik:

Replying to 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.

in reply to:  7 ; comment:9 by cristn, 14 years ago

Replying to hellik:

Replying to 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.

in reply to:  9 ; comment:10 by hellik, 14 years ago

Replying to cristn:

Replying to hellik:

Replying to 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, ...)

it would be possible to set "run as admin" inside the installer (RequestExecutionLevel http://nsis.sourceforge.net/Docs/Chapter4.html#4.8.1.32), but I'am a little reluctand to do this.

Suggestion: on Windows7, use a different default path.

I would stay at c:\Program Files to be consistend with the MSWindows-world of installing programs.

Helmut

in reply to:  5 ; comment:11 by glynn, 14 years ago

Replying to 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.

in reply to:  11 comment:12 by cristn, 14 years ago

Replying to glynn:

Replying to neteler: ProgramFiles is an environment variable, not a registry entry. Type:

set programfiles

at a command prompt to see its value.

It reports:

ProgramFiles=C:\Program Files

in reply to:  10 ; comment:13 by cristn, 14 years ago

Replying to hellik:

Replying to cristn:

Replying to hellik:

Replying to 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

in reply to:  13 ; comment:14 by hellik, 14 years ago

Replying to cristn:

Replying to hellik:

Replying to cristn:

Replying to hellik:

Replying to 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

so can we close the ticket?

Helmut

in reply to:  14 ; comment:15 by neteler, 14 years ago

Replying to hellik:

Replying to cristn:

Replying to hellik:

Replying to cristn:

Replying to 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

in reply to:  15 ; comment:16 by hellik, 14 years ago

Replying to neteler:

Replying to hellik:

Replying to cristn:

Replying to hellik:

Replying to cristn:

Replying to 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.

Helmut

comment:17 by helena, 14 years ago

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.

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?

Helena

comment:18 by hamish, 14 years ago

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.

Hamish

in reply to:  17 comment:19 by glynn, 14 years ago

Replying to helena:

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.

in reply to:  16 comment:20 by marisn, 14 years ago

Replying to hellik:

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).

Helmut

It doesn't matter what is considered a "normal way". If installator fails to create direcotry for file extraction, then there is no reason why to continue and not fail with error message. It doesn't matter what is the root of failure (insufficent rights, read-only file system, disk full etc.). Still hint about "run as admin" or "check free disk space" would be nice.

See similar issue with QGIS: http://trac.osgeo.org/qgis/ticket/2455

in reply to:  17 ; comment:21 by hellik, 14 years ago

Replying to helena:

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.

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?

Helena

is this still valid with the actual nightly builds of wingrass?

Helmut

in reply to:  21 comment:22 by hellik, 13 years ago

Replying to hellik:

Replying to helena:

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.

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?

Helena

is this still valid with the actual nightly builds of wingrass?

Helmut

closing the ticket?

comment:23 by hamish, 13 years ago

before closing the ticket, can someone with a non-english copy of Windows, which puts a space in the translation of "C:\Program Files", try installing there? does it work ok now?

Hamish

in reply to:  23 ; comment:24 by hellik, 13 years ago

Replying to hamish:

before closing the ticket, can someone with a non-english copy of Windows, which puts a space in the translation of "C:\Program Files", try installing there? does it work ok now?

Hamish

in a german win7-box, AFAIK c:\Programme is only an alias for C:\Program Files.

as i remember correctly, this ticket was an issue with the windows-UAC. I've changed then the behaviour of the wingrass-installer that the windows-UAC-user interaction starts automatically.

best regards Helmut

in reply to:  24 ; comment:25 by hellik, 12 years ago

Replying to hellik:

Replying to hamish:

before closing the ticket, can someone with a non-english copy of Windows, which puts a space in the translation of "C:\Program Files", try installing there? does it work ok now?

Hamish

in a german win7-box, AFAIK c:\Programme is only an alias for C:\Program Files.

as i remember correctly, this ticket was an issue with the windows-UAC. I've changed then the behaviour of the wingrass-installer that the windows-UAC-user interaction starts automatically.

best regards Helmut

I suggest to close this ticket.

Helmut

in reply to:  25 comment:26 by hamish, 12 years ago

Resolution: fixed
Status: newclosed

Replying to hellik:

I suggest to close this ticket.

reopen if needed.

Note: See TracTickets for help on using tickets.