Feature #2795
Update, add tests to verify if the current TXM user can install an update
Status: | New | Start date: | 04/17/2020 | ||
---|---|---|---|---|---|
Priority: | Normal | Due date: | |||
Assignee: | - | % Done: | 80% |
||
Category: | Update | Spent time: | - | ||
Target version: | TXM 0.8.1 |
Description
Diagnostic¶
On windows, the user needs to start TXM with administrator rights to be able to install updates
Specific¶
FR
implémenter la solution par ordre de préférence (en fonction de ce qui est possible) :
- solution 1)
- commande "vérifier les mises à jours" :
- si des mises à jour sont disponibles
- alors si l'utilisateur est sur Windows && l'utilisateur n'a pas lancé TXM en tant qu'administrateur
- alors ouvrir une boite de dialogue modale d'avertissement qui dit qu'il faut lancer TXM en tant qu'administrateur pour pouvoir installer des mises à jour et abandonner la commande en cliquant sur l'unique bouton OK
et abandonner la commande en cliquant sur l'unique bouton OK - sinon procéder aux mises à jour
- alors ouvrir une boite de dialogue modale d'avertissement qui dit qu'il faut lancer TXM en tant qu'administrateur pour pouvoir installer des mises à jour et abandonner la commande en cliquant sur l'unique bouton OK
- sinon ouvrir une boite de dialogue modale d'avertissement qu'il n'y a pas de mise à jour disponible et abandonner la commande en cliquant sur l'unique bouton OK
- alors si l'utilisateur est sur Windows && l'utilisateur n'a pas lancé TXM en tant qu'administrateur
- si des mises à jour sont disponibles
- commande "vérifier les mises à jours" :
- solution 2)
- commande "vérifier les mises à jours" :
- si l'utilisateur est sur Windows && l'utilisateur n'a pas lancé TXM en tant qu'administrateur
- alors ouvrir une boite de dialogue modale d'avertissement qui dit :
- "Il est nécessaire de lancer TXM en tant qu'administrateur pour pouvoir vérifier et installer les mises à jour. Merci de quitter TXM, de le relancer en tant qu'administrateur puis de relancer cette commande, pour pouvoir vérifier et installer les mises à jour."
- et abandonner la commande en cliquant sur l'unique bouton OK
- sinon procéder à la vérification et aux mises à jour le cas échéant
- alors ouvrir une boite de dialogue modale d'avertissement qui dit :
- si l'utilisateur est sur Windows && l'utilisateur n'a pas lancé TXM en tant qu'administrateur
- commande "vérifier les mises à jours" :
- solution 3)
- commande "vérifier les mises à jours" : si l'utilisateur est sur Windows && l'utilisateur n'a pas accès en écriture à des endroits nécessaires alors ouvrir une boite de dialogue modale d'avertissement qui dit qu'il faut être administrateur et abandonner la commande sinon vérifier les mises à jour et les installer le cas échéant
- solution 4)
- commande "vérifier les mises à jours" : si l'utilisateur est sur Windows alors ouvrir une boite de dialogue d'avertissement qui dit qu'il faut être connecté en tant qu'administrateur pour pouvoir installer des mises à jour, si clic sur Continuer continuer la commande jusqu'au bout sinon abandonner la commande
Solution¶
Implément solution 1.
private static boolean isWindowsAdminCommandTest() { Preferences preferences = systemRoot(); synchronized (System.err) { setErr(new PrintStream(new OutputStream() { @Override public void write(int b) throws IOException { } })); try { preferences.put("TxmAdminAccessTestProperty", "TxmAdminAccessTestValue"); // SecurityException on Windows preferences.remove("TxmAdminAccessTestProperty"); preferences.flush(); // BackingStoreException on Linux return true; } catch (Exception exception) { return false; } finally { setErr(System.err); } } }
If the Windows user is not detected as administrator a message is shown in a modal dialog box to 1) tell he must be administrator to install updates . When the "OK" button is pressed, the update is aborted.
Message per lang:
FR : Il est nécessaire de lancer TXM en tant qu'administrateur pour pouvoir vérifier et installer les mises à jour.
Merci de quitter TXM, de le relancer en tant qu'administrateur puis de relancer cette commande, pour pouvoir vérifier et installer les mises à jour.
EN : It is necessary to launch TXM as administrator to be able to check and install updates.
Please quit TXM, re-launch it as administrator, then re-launch this command to be able to check and install updates.
Title per lang:
FR: Mise à jour interrompue
EN: Update interrupted
History
#1 Updated by Matthieu Decorde over 3 years ago
- Description updated (diff)
#2 Updated by Matthieu Decorde over 3 years ago
- Description updated (diff)
#3 Updated by Serge Heiden over 3 years ago
- Description updated (diff)
#4 Updated by Matthieu Decorde over 3 years ago
- % Done changed from 0 to 80
- Description updated (diff)
#5 Updated by Serge Heiden over 3 years ago
- % Done changed from 80 to 70
- Description updated (diff)
ajouté ouverture de boite de dialogue d'avertissement modale
#6 Updated by Matthieu Decorde over 3 years ago
- Description updated (diff)
- % Done changed from 70 to 40
#7 Updated by Matthieu Decorde over 3 years ago
- % Done changed from 40 to 60
implementation done, need testing on Windows
#8 Updated by Matthieu Decorde over 3 years ago
- % Done changed from 60 to 40
- Description updated (diff)
#9 Updated by Matthieu Decorde over 3 years ago
- Description updated (diff)
#10 Updated by Serge Heiden over 3 years ago
- Description updated (diff)
#11 Updated by Matthieu Decorde over 3 years ago
- Description updated (diff)
#12 Updated by Serge Heiden over 3 years ago
- Description updated (diff)
#13 Updated by Matthieu Decorde over 3 years ago
- % Done changed from 40 to 60
- Description updated (diff)
must fix the title
#14 Updated by Matthieu Decorde over 3 years ago
- % Done changed from 60 to 80
worked during the BETA tests