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.
1.1 KiB
Le renommage du dossier se termine tout seul sous Windows
Jusqu'ici, sur un ordinateur où vous n'êtes pas administrateur, C:\ProgramData\jean ne pouvait pas devenir C:\ProgramData\ajean : renommer ce dossier demande un droit qu'un compte standard n'a pas. Le renommage restait donc à moitié fait, indéfiniment.
L'installation demande désormais l'autorisation Windows nécessaire, le temps du renommage, puis rend la main. La fenêtre apparaît au moment où vous installez ou mettez à jour AJEAN — jamais au démarrage ordinaire, et jamais si elle ne sert à rien : ni quand le dossier porte déjà le bon nom, ni quand vous avez choisi vous-même son emplacement.
Refuser cette autorisation est une réponse valable. AJEAN continue alors d'utiliser son dossier actuel, exactement comme avant. Rien n'est perdu, rien n'est bloqué, et la question reviendra à la prochaine installation.
Mise à jour
ajean update
Sous Windows, télécharger ajean-windows-amd64.exe depuis cette page et le lancer fait le même travail.
Les binaires restent publiés sous leurs deux noms, ajean-* et jean-*, le temps que le parc bascule.