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

Windows Discussion :

[Vista]Problème avec ShellExecute


Sujet :

Windows

  1. #1
    Invité
    Invité(e)
    Par défaut [Vista]Problème avec ShellExecute
    Bonjour,
    j'ai un petit programme C++ qui lance un .msi avec la fonction ShellExecute. Le problème est que sous Vista il faut les droits admin pour lancer les .msi. Donc de toute façon, même depuis l'explorateur Windows je ne peux pas lancer ces msi "à la main", à part en ligne de commande si celle-ci est lancée avec les droits admin.
    Comment faire pour exécuter des msi dans mon programme avec les droits admin ?
    Merci

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci, il est rigolo cet article.
    J'avais déjà testé cette solution qui n'avait pas marché.
    http://blogs.msdn.com/vistacompattea...25/771232.aspx
    Je pense qu'elle ne peut pas marcher avec les msi. Sous Vista, quand on fait un shift+click droit sur un exe, il y a une option Exécuter en tant qu'administrateur (d'où le mot clé runas). Pour les msi, cette option n'existe pas.

    Je vais essayer le truc du manifest. Mais si vous connaissez une autre solution, je suis preneur. Contrairement à l'auteur de l'article, c'est pas du tout un problème pour moi si je n'utilise pas ShellExecute, du moment que ça marche.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bon, la méthode du manifest a l'air de marcher. Donc pour ceux que ça intéresse :
    - créer un fichier qui contient le code xml suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <dependency> 
        <dependentAssembly> 
            <assemblyIdentity 
                type="win32" 
                name="Microsoft.Windows.Common-Controls" 
                version="6.0.0.0" 
                processorArchitecture="X86" 
                publicKeyToken="6595b64144ccf1df" 
                language="*" 
            /> 
        </dependentAssembly> 
    </dependency> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel 
                    level="requireAdministrator" 
                    uiAccess="false"/>
            </requestedPrivileges>
        </security>
    </trustInfo>
    </assembly>
    - Dans les propriétés du projet sous Visual Studio, Outil manifeste, Entrée et sortie. Dans Fichiers manifeste supplémentaire, mettre le nom du fichier créé à l'étape précédente.

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

Discussions similaires

  1. Problème avec Shellexecute sous Vista
    Par scara dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2007, 19h09
  2. Problème avec Shellexecute
    Par cincap dans le forum Composants VCL
    Réponses: 10
    Dernier message: 20/08/2007, 00h08
  3. [VBA]Problème avec ShellExecute()
    Par Sunchaser dans le forum SDK
    Réponses: 1
    Dernier message: 24/06/2007, 20h27
  4. Problème avec ShellExecute
    Par Xav++ dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/05/2006, 14h58
  5. Problème avec ShellExecute
    Par SkYsO dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 17h52

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