SetOutPath "$INSTDIR"
SetShellVarContext all
${LogWrite} 'creating shortcut "$SMPROGRAMS\$StartMenuLocation\${SAFE_PRODUCT_NAME}.lnk" "$ProgramLocation${PRODUCT_MAINEXE}"'
ClearErrors
CreateShortCut "$SMPROGRAMS\$StartMenuLocation\${SAFE_PRODUCT_NAME}.lnk" "$ProgramLocation${PRODUCT_MAINEXE}"
${If} ${Errors}
${LogWrite} " - error creating shortcut"
${EndIf} That code under SP1 gives and error, under SP2, it works. The exploded paths from the log are:
Doesn't work:
[Wednesday Sep 02 15:09:00 2009] creating shortcut "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Creator\Creator.lnk" "C:\Program Files\Creator\Creator.exe"Works:
[Wednesday Sep 02 15:09:00 2009] - error creating shortcut
[Wednesday Sep 02 15:48:45 2009] creating shortcut "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Creator\Creator.lnk" "C:\Program Files\Creator\Creator.exe"Does anyone know anything more about this wierdness?
In the end, I kind of need to support Vista SP1 so I am still looking for a workaround.