Ticket #354 (new defect)
installer sets broken icon path on 64bit windows
| Reported by: | timeless | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | Installer | Version: | development |
| Keywords: | Cc: | ||
| Operating system: | Blocked by: | ||
| Blocking: |
Description
w7 rc1; NVDA 0.6p3.2
The installer managed to put a shortcut on my desktop and in my start menu, both point to:
"C:\Program Files (x86)\NVDA\nvda.exe"
but the icon is: %ProgramFiles?%\NVDA\NVDA.exe.
This means that I get the default icon because that path doesn't exist
environment variable table for reference:
ProgramData?=C:\ProgramData?
ProgramFiles?=C:\Program Files
ProgramFiles?(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files


The line in the installer that creates the desktop shortcut is:
CreateShortCut "$DESKTOP\${PRODUCT}.lnk" "$INSTDIR\${PRODUCT}.exe" "" "$INSTDIR\${PRODUCT}.exe" 0 SW_SHOWNORMAL \ CONTROL|ALT|N "Shortcut Ctrl+Alt+N"The parameters to CreateShortcut? are:
shortcut file name, target file name, commandline parameters, icon path, icon index, shortcut flags, keyboard shortcut.
According to this line, both target file name, and icon path are pointing to the same thing, which is "$INSTDIR\${PRODUCT}.exe".
${PRODUCT} is defined as "nvda".
$INSTDIR should be the directory you chose at install time.
It seems to me that this is perhaps a bug in Nsis and CreateShortcut?. Both target path and icon path should be the same value.
Although this is not an error on 32-bit systems, looking at the icon path for a desktop shortcut on my 32-bit Vista machine, it is also %ProgramFiles?% but the target path is "C:\Program Files"
So this bug is definitly not specific to Windows 7 or 64-bit.
I'm interested if this problem exists on XP machines?