You made a desktop shortcut, yes?
Those are the program.desktop files which usually build menus (and which you can pin to the desktop). Since it has become unpopular to actually allow people to make them via GUIs anymore [shakes fist at Canonical] you usually have to create them in a text editor -- well, that is how I got used to creating them.
Desktop Entry
You can get away with desktop entries in the system location having 644 permissions, but elsewhere IIRC it must be executable.
So I assume you were using a .desktop launcher to give it an icon.
I guess I assumed you knew this stuff already because you mentioned desktop shortcuts, but really there is nothing wrong with not knowing them. No one needs to delve first thing into freedesktop specs.
I did because I wanted iconized launchers to custom stuff.
Yes, that is what I meant by blanking BIN_DIR. As you can see, if it is a valid directory, we use the calibre binary from it, elseif the length is zero, use the system search path, else complain loudly that the directory doesn't exist and fallback on the system search path.