IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Programme sous Windows 7, UAC !


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut Programme sous Windows 7, UAC !
    Bonjour,
    Mon application doit s'exécuter sous Windows 7 et en administrateur pour pouvoir lire dans la base de registre. Comment puis-je faire la démarrer en mode Admin, et sans chaque fois demander l'autorisation ?! (est-ce possible?)

  2. #2
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Coment puis-je faire la démarrer en mode Admin, et sans chaque fois demander l'autorisation ?! (est-ce possible?)
    Non, ce n'est pas possible. Tout le principe de l'UAC c'est que l'utilisateur doive systématiquement donner l'autorisation pour modifier le système.
    La seule façon de lancer une appli avec les droits admins sans qu'elle demande l'autorisation, c'est qu'elle soit elle-même lancée par une application qui a déjà effectuée l'élévation de privillège.

    Par contre, tu peux créer le manifest pour dire que ton appli nécessite les droits administrateurs. l'UAC demandera l'autorisation de modifier le système à chaque lancement, mais l'utilisateur n'aura pas besoin de faire "exécuter en tant qu'administrateur" à chaque fois.

    Une alternative éventuelle serait d'isoler les fonctions qui nécessitent les droits admins dans un service windows dédié. Puis de faire appel au service depuis ton application. Mais ça reste à tester.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut
    D'accord, merci pour votre réponse.
    Je suis coincé alors, faut alors que j'impose à l'utilisateur final de désactiver l'UAC.
    Sous 7 (ou Vista peut-être) est-il nécessaire pour lire dans la base de registre d'être en Admin ?

    (EDIT) : je viens de voir les infos sur l'UAC et Delphi (http://fsoriano.developpez.com/) et les autres sources. J'en ai appris des trucs, mais je ne règle rien !

  4. #4
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Je n'ai pas écrit d'article sur l'UAC.

    Par contre tu as un tuto de Pascal Fonteneau sur l'UAC

    Sous 7 (ou Vista peut-être) est-il nécessaire pour lire dans la base de registre d'être en Admin ?
    Pour la lire non. A condition de bien y accéder en mode lecture-seule. Autrement dit, fait des OpenKeyReadOnly et pas des OpenKey, ou crée le composant TRegistry en mode lecture seule.
    De plus tu peux lire et écrire sans restrictions dans HKEY_CURRENT_USER.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut
    Je n'ai pas écrit d'article sur l'UAC.
    En fait, je faisais référence à votre article sur D2010 et la barre des tâches, qui lui m'a conduit à un article ici : http://pascalfonteneau.developpez.co...phi/vista/uac/

    Merci pour la solution, je vais la tester.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut
    Salut
    Cool, j'ai mis les donnés que je voulais sous HK_CURRENT_USER, et ça marche très bien, sans nécessité d'élévation de privilèges.

    Ainsi mon application est maintenant 100% (ou presque) compatible Windows 7.

    Merci bien pour votre aide !

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    IN
    Inscrit en
    Avril 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : IN

    Informations forums :
    Inscription : Avril 2015
    Messages : 62
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par djiga4me Voir le message
    Salut
    Cool, j'ai mis les donnés que je voulais sous HK_CURRENT_USER, et ça marche très bien, sans nécessité d'élévation de privilèges.

    Ainsi mon application est maintenant 100% (ou presque) compatible Windows 7.

    Merci bien pour votre aide !
    salut j'ai eu le meme probleme que vous merci de montrer le code si possible

    merci davance

  8. #8
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 859
    Points : 11 303
    Points
    11 303
    Billets dans le blog
    6
    Par défaut
    L'application n'a pas besoin de droits plus élevés que l'utilisateur courant pour lire dans la base de registre les données le concernant.
    En revanche, pour lire d'autres registres, les droits d'administrateur peuvent être requis.
    En déplaçant ses données au niveau du registre de l'utilisateur courant, on s'abstrait des demandes d'élévation de privilèges.
    Il n'y a pas besoin d'exposer du code, mais de lire/écrire dans la BdR au niveau des clefs HK_CURRENT_USER.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression programme sous WINDOWS
    Par identi dans le forum Windows XP
    Réponses: 3
    Dernier message: 25/08/2008, 14h28
  2. Réponses: 1
    Dernier message: 23/12/2007, 17h46
  3. Démarage Automatique du Programme sous Windows ?
    Par jockyboss777 dans le forum VB.NET
    Réponses: 38
    Dernier message: 16/07/2007, 23h33
  4. Compiler et executer un petit programme sous windows
    Par nistelsof dans le forum Langage
    Réponses: 6
    Dernier message: 30/05/2007, 17h31
  5. Réponses: 5
    Dernier message: 01/02/2006, 21h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo