mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Regression introduite par l'alias de la 0.7.0, signalee en usage : « Une version plus recente d'AJEAN est deja installee » a CHAQUE lancement, sans moyen d'en sortir. Deux defauts qui se renforcaient. installLegacyAlias utilisait copyExe, qui echoue quand jean.exe est en cours d'execution — Windows refuse d'ecraser un .exe actif. L'echec etait ignore volontairement (« sans gravite, la copie repassera au prochain lancement »), ce qui etait faux : l'alias restait fige indefiniment. replaceExe applique desormais la technique deja utilisee pour le binaire principal — renommer l'ancien, ecrire le nouveau, restaurer si la copie echoue. installSelf s'en sert aussi, pour la meme raison. ensureShortcuts ne touchait jamais un raccourci existant. Ceux crees avant la 0.7.0 visaient donc toujours jean.exe. Chaque lancement executait l'alias perime, qui voyait ajean.exe plus recent et le signalait — la boucle. Un raccourci existant est maintenant repointe s'il vise autre chose que le binaire courant. cleanupOldBinary balaie aussi le jean.exe.old que le nouveau remplacement peut laisser. Deux tests : remplacement d'un exe verrouille, et garantie que la cible ne disparait jamais si la copie echoue apres le renommage.