With MCL-5436 fixed I thought junctions would now work properly, but there seems to be an issue still when trying to update the launcher itself.
Upon launching the old version of the launcher, it automatically proceeds to download the new version and produces the following updateLog.txt:
23-02-2019 17:38:40 - going to update MinecraftLauncher.exe using D:/Games/.minecraft/tmp/tmpLauncher.tmp
Launcher is definitely closed.
Backing up previous version of the launcher...
Previous version has been backed up as MinecraftLauncher.exe.backup.
Installing new version of the launcher...
Moved D:/Games/.minecraft/tmp/tmpLauncher.tmp to MinecraftLauncher.exe successfully.
Removing backup file MinecraftLauncher.exe.backup
Error 5, going for attempt 2...
Removed backup MinecraftLauncher.exe.backup successfully.
Update succeeded!
Unfortunately after that the new MinecraftLauncher.exe will do exactly nothing. It fails to execute completely, not even spawning a visible process in the Task Manager / Process explorer. It does not produce any error message, any window, any log or anything at all. Even if run as administrator.
Work-around:
A work-around is deleting the NTFS junction on %APPDATA%\.minecraft with the commandfsutil reparsepoint delete %APPDATA%\.minecraft
Then the new MinecraftLauncher.exe will actually execute and load/update completely (with default settings and no profiles, since the %APPDATA%\.minecraft
directory is empty now.
The junction can then be reinstated {{}}and the updated launcher will continue to work and load the existing profiles again.
I assume that this behavior can be reproduced by launching an older version of the launcher with the active junction, but I can't do it because I do not keep backups of the launcher.
Comments 2
I turned on the beta setting, restarted the launcher and it updated correctly to the latest beta build. So I assume this build fixed it. At least the bug and work-around is documented for people who might run into it when updating to Minecraft Launcher 2.1.2481.
But I guess not many people actively use junctions on Windows anyway.
Does this happens in the latest beta build?