I have an executable on my disk-on-key in dir\program\prog.exe
I’d like to have a shortcut to the executable on the DoK’s root directory, that is, prog.lnk would refer to dir\program\prog.exe.
However, it seems that prog.lnk can’t have a relative target. This is a problem when the DoK will have different drive letters assigned to it, depending on which PC it’s connected to.
Any suggestions, aside from the obvious one of putting prog.exe in the root dir?
(ultimately, I’d like to do this at install time using nsis)
Thanks,
Rony
While it is possible for shortcuts to contain a relative path to the target (.lnk files have a flag called SLDF_HAS_RELPATH) NSIS does not support creating anything other than “normal” shortcuts so you need to write the binary data directly (The .lnk format is pretty stable and has been documented by MS)
Call it like this:
While the generated .lnk seems to work, I’m not sure if I would use this in production code
A much better solution is to create a little NSIS app like Oleg suggests (NSIS applications can contain embedded data at the end of the .exe that it can read from itself at runtime etc..)