Feature #2795
Mis à jour par Matthieu Decorde il y a plus de 5 ans
h2. Diagnostic
On windows, the user needs to start TXM with administrator rights to be able to install updates
h2. Solution
h3. General
Add a warning dialog/message if the user doesn't have the credentials
see if it can be generalized for Linux and Mac OS X
h3. 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 l'utilisateur est sur Windows && l'utilisateur n'a pas lancé TXM en tant qu'administrateur alors avertir qu'il faut lancer TXM en tant qu'administrateur et abandonner la commande sinon vérifier les mises à jour et les installer le cas échéant
* solution 2)
** 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 avertir qu'il faut être administrateur et abandonner la commande sinon vérifier les mises à jour et les installer le cas échéant
* solution 3)
** 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
h2. Solution
implement solution 1 using :
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("foo", "bar"); // SecurityException on Windows
preferences.remove("foo");
preferences.flush(); // BackingStoreException on Linux
return true;
} catch (Exception exception)
{
return false;
} finally
{
setErr(System.err);
}
}
}
a message is shown in the console and the update is aborted IF the windows user is not the administrator
On windows, the user needs to start TXM with administrator rights to be able to install updates
h2. Solution
h3. General
Add a warning dialog/message if the user doesn't have the credentials
see if it can be generalized for Linux and Mac OS X
h3. 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 l'utilisateur est sur Windows && l'utilisateur n'a pas lancé TXM en tant qu'administrateur alors avertir qu'il faut lancer TXM en tant qu'administrateur et abandonner la commande sinon vérifier les mises à jour et les installer le cas échéant
* solution 2)
** 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 avertir qu'il faut être administrateur et abandonner la commande sinon vérifier les mises à jour et les installer le cas échéant
* solution 3)
** 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
h2. Solution
implement solution 1 using :
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("foo", "bar"); // SecurityException on Windows
preferences.remove("foo");
preferences.flush(); // BackingStoreException on Linux
return true;
} catch (Exception exception)
{
return false;
} finally
{
setErr(System.err);
}
}
}
a message is shown in the console and the update is aborted IF the windows user is not the administrator