mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Un compte non administrateur ne peut pas renommer C:\ProgramData\jean : le droit manquant porte sur C:\ProgramData. Ces postes gardaient donc l'ancien nom indefiniment. Les 0.7.1 et 0.7.2 avaient traite le bruit, pas le fond. L'installation relance desormais AJEAN en administrateur le temps de la SEULE migration (sous-commande interne, absente de l'aide), puis rend la main. Un refus de la fenetre UAC est une reponse valable : on continue sur l'ancien chemin, sans rien casser. Deux tentatives de discrimination ont echoue avant celle-ci, et le detail compte pour qui relira ce code : - Le code d'erreur ne distingue rien. Windows renvoie ERROR_ACCESS_DENIED aussi bien pour un manque de droits que pour un dossier verrouille par un programme en cours. Un test le prouve, il avait ete ecrit en croyant l'inverse. - Sonder l'ecriture dans le dossier parent ne distingue rien non plus : ProgramData autorise la creation de fichiers aux utilisateurs standards, c'est la suppression/renommage d'une entree existante qui est refusee. C'est donc le LIEU D'APPEL qui selectionne, et lui est fiable : on n'eleve que depuis `install` et depuis l'installeur de mise a jour, tous deux apres l'arret des instances. Le cas « verrouille » y est deja ecarte. Note pour les tests : ne JAMAIS appeler elevateForHomeMigration() sous `go test`. os.Executable() y designe le binaire de test, que l'elevation relance — donc toute la suite, en boucle. Constate.