diff --git a/launcher.c b/launcher.c index 83b487898a..b87cb32ad6 100644 --- a/launcher.c +++ b/launcher.c @@ -260,6 +260,16 @@ int run(int argc, char **argv, int is_gui) { /* compute script name from our .exe name*/ GetModuleFileNameA(NULL, script, sizeof(script)); + /* resolve final path in case script name is symlink */ + HANDLE hFile = CreateFile(script, + GENERIC_READ, + FILE_SHARE_READ, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + NULL); + GetFinalPathNameByHandle(hFile, script, 256, VOLUME_NAME_DOS); + end = script + strlen(script); while( end>script && *end != '.') *end-- = '\0';