mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Windows : plus de question a la premiere installation
Le double-clic demandait « Installer AJEAN ou juste le lancer ? ». La question n'avait qu'une reponse utile : rester a l'emplacement du fichier telecharge ne donne pas une installation utilisable (aucun raccourci, rien dans le PATH, et une application qui disparait le jour ou l'on vide ses telechargements). Faire porter a l'utilisateur un choix qui n'existe pas ne l'aide pas. L'installation se fait donc directement, et le message qui suit dit ce qui a ete fait : ou le programme s'est installe, et que le fichier telecharge peut etre supprime. Le repli en cas d'echec (droits sur %ProgramData%) est inchange. Les deux autres boites de dialogue sont conservees : elles portent de vraies decisions (fichier plus ancien que la version installee, fermer une application en cours pour appliquer une mise a jour).
This commit is contained in:
1 parent
672317d68c
commit
e0dcbe715a
1 file changed
+12
-20
@@ -100,28 +100,20 @@ func appFirstRun() bool {
|
||||
return runAsInstaller(target)
|
||||
}
|
||||
|
||||
// Première installation : là, une question. C'est le seul moment où
|
||||
// l'utilisateur a intérêt à savoir ce qui va être posé sur sa machine, et
|
||||
// c'est l'absence de cette question qui rendait le double-clic illisible.
|
||||
// Première installation. On ne demande PAS l'autorisation : il n'y a rien à
|
||||
// arbitrer. Rester à l'emplacement du fichier téléchargé ne donne pas une
|
||||
// installation utilisable (pas de raccourci, rien dans le PATH, et une
|
||||
// application qui disparaît le jour où l'on vide son dossier de
|
||||
// téléchargements). Poser une question dont une seule réponse mène quelque
|
||||
// part, c'est faire porter à l'utilisateur un choix qui n'existe pas.
|
||||
//
|
||||
// Un refus n'est PAS mémorisé. Il l'a été en 0.6.11 pour éviter de reposer la
|
||||
// question à chaque lancement, mais il devenait alors définitif : plus aucun
|
||||
// moyen d'installer AJEAN, même en relançant le fichier téléchargé. Un « non »
|
||||
// veut dire « pas maintenant », jamais « plus jamais » : c'est le comportement
|
||||
// de n'importe quel installeur, qui repropose tant qu'on le relance.
|
||||
if messageBox(
|
||||
"Installer AJEAN sur cet ordinateur ?\n\n"+
|
||||
"• le programme sera copié dans :\n "+target+"\n"+
|
||||
"• un raccourci sera ajouté au menu Démarrer et au Bureau\n"+
|
||||
"• vos réglages et modèles seront rangés dans :\n "+AjeanHome()+"\n\n"+
|
||||
"Vous pourrez ensuite supprimer le fichier que vous venez de télécharger.\n\n"+
|
||||
"Répondre Non démarre AJEAN sans rien installer. La question reviendra\n"+
|
||||
"au prochain lancement de ce fichier.",
|
||||
"Installation d'AJEAN", mbYesNo|mbIconQuestion) != idYes {
|
||||
return false
|
||||
}
|
||||
|
||||
// On l'informe en revanche de ce qui vient d'être fait : il a double-cliqué
|
||||
// un fichier, autant dire où le programme s'est installé et qu'il peut
|
||||
// supprimer ce qu'il a téléchargé.
|
||||
if _, err := installSelf(filepath.Dir(target)); err != nil {
|
||||
// Échec le plus courant : pas les droits sur %ProgramData%. AJEAN reste
|
||||
// parfaitement utilisable depuis son emplacement actuel, le dossier de
|
||||
// données étant ailleurs — on démarre donc au lieu d'abandonner.
|
||||
messageBox("Installation impossible :\n\n"+err.Error()+"\n\nAJEAN va démarrer depuis l'emplacement actuel.", "AJEAN", mbIconInfo)
|
||||
return false
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user