...is it necessary to put the complete path in the variable [executable] (e.g /opt/frostwire/frostwire_noarchxxx/runfrostwire.sh ??)...

Absolutely, this makes all the difference. I believe the symlink would have worked if the full path was known and used. We were creating a symlink for a script that wasn't even there - no wonder it did not work.

But you need to make sure the bolded part is 100% correct. If the system complains that /usr/bin/frostwire already exists then remove that file first (as root, rm /usr/bin/frostwire), and then create the symlink.

wachbirn:$ which frostwirewhich: no frostwire in (/usr/local/bin:/usr/bin:/usr/sbin:/bin:/opt/bin:/usr/X11/bin:/usr/local/games:/usr/games:/opt/Adobe/Reader8/bin/:wachbirn:/opt/frostwire/frostwire-4.17.0.noarch/runFrostwire.sh/:/usr/lib/java/bin:/usr/lib/java/jre/bin:/usr/lib/qt/bin)

as you can see, i even put the exact path in....it didnt work with the directory before /opt/frostwire/frostwirearchxx/

which frostwire output:

wachbirn:$ which frostwirewhich: no frostwire in (/usr/local/bin:/usr/bin:/usr/sbin:/bin:/opt/bin:/usr/X11/bin:/usr/local/games:/usr/games:/opt/Adobe/Reader8/bin/:wachbirn:/opt/frostwire/frostwire-4.17.0.noarch/runFrostwire.sh/:/usr/lib/java/bin:/usr/lib/java/jre/bin:/usr/lib/qt/bin)