Ticket #354 (new defect)

Opened 3 years ago

Last modified 3 years ago

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

Change History

comment:1 Changed 3 years ago by mdcurran

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?

Note: See TracTickets for help on using tickets.