This is a simple tool (7 Kb) that allows to use shortcuts targeting paths within a portable drive whose drive letter changes.
It seems to be open source and free:
Host Schaeffer, the author, writes:
Here is a mini program that may be useful. PureBasic source code is included."
ShortExe
--------
> Windows insists that a shortcut target must have a fixed drive letter, which means you cannot use Windows shortcuts within a USB flash drive where the drive letter may change.
> "Here comes ShortExe.
> "The idea is to have a little program that you rename to something which will be interpreted (by the program itself) as shortcut information based on the actual drive letter.
> "Example (assuming drive H:, shortcut for \some\where\Qsel.exe):
>> Put a copy of ShortExe on drive H:
>> Original program name: "ShortExe.exe"
>> Rename it to: "Qsel +some+where.exe"
>> Will launch: "H:\some\where\Qsel.exe"
> "The program name (without the ".exe" extension!) is placed at the beginning to make the shortcut easy to identify. Space separates from the directory information.
> "Since the backslash character is not allowed in a file name, you have to use the plus (+) sign instead. ShortExe also treats single quote marks around the path as double quote marks (in case your path includes spaces). Command arguments are supported as well."