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 :

[XE5] déployer un programme avec l'option "Exécuter en tant qu'administrateur"


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut [XE5] déployer un programme avec l'option "Exécuter en tant qu'administrateur"
    Bonjour

    je suis sur un programme qui nécessite de démarrer et arrêter des service windows, pour cela l’application doit avoir le droit d'administrateur. Cette application permet aussi de créer des base de données Oracle et à besoin d'écrire dans des fichiers interdits au "simples utilisateurs". Il faut donc la lancer en tant qu'administrateur.

    ce que je veux c'est qu'après installation il n'y ai pas besoin d'aller cliquer sur l'exe pour cocher la case "executer en tant qu'administrateur" ou de lancer l'appli en faisant click droit puis "exécuter en tant qu'admin"

    Ce que je veux c'est qu'après installation, le client lance l'appli et qu'elle ai d'office les droits d'admin.

    je déploie l'application avec Inno setup, mais il n'y a rien dans cet outils qui permette de dire que l'exe doit être lancé en tant qu'admin lors du déploiement. Je me penche donc du coté Delphi. soit un bout de code à placer au début du lancement de l'appli ou alors créer un petit exe à lancer en postinstall par inno setup qui pourrait activer ce paramétre.

    J'ai trouvé un truc avec un manifest, un fichier rc qui génère un .res etc..., mais ça ne fonctionne pas.

    si quelque à une piste autre ....
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 685
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 685
    Points : 13 102
    Points
    13 102
    Par défaut
    Citation Envoyé par eristale Voir le message
    J'ai trouvé un truc avec un manifest...
    C'est pourtant bien ainsi qu'il faut procéder. Tu n'as cependant plus besoin de passer par un rc/res externe sous XE5. Tu peux directement spécifier le manifest dans les options du projets -> Applications -> Thèmes d’exécution = "Utiliser un manifest personnalisé" puis choisir le fichier.

    En voici un qui fera l'affaire.

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
              <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="MonProg" type="win32"/>
     
              <description>Description de MonProg</description>
     
              <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>
     
    	<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    		<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    			<dpiAware>true</dpiAware>
    		</asmv3:windowsSettings>
    	</asmv3:application>
     
    	<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    		<application>
    			<!--The ID below indicates application support for Windows Vista -->
    			<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
     
    			<!--The ID below indicates application support for Windows 7 -->
    			<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
    		</application>
    	</compatibility>
    </assembly>
    Attention à la "Cible" : spécifie "Toutes les configurations".

    Si tu vois le bouclier après compilation, tu es bon

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    C'est impeccable, ça fonctionne, merci beaucoup.

    j'ai trouvé les infos pour windows 8 et 2012

    <!--The ID below indicates application support for Windows 8.1 and Windows Server 2012 R2 -->
    <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>

    <!--The ID below indicates application support for Windows 8 and Windows Server 2012 -->
    <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>


    pour la version en 64 bits il faut créer un autre manifest et remplacer x86 par amd64 aux 2 endroits
    processorArchitecture="amd64"
    par contre type reste avec "win32".

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

Discussions similaires

  1. démarrer programme avec options
    Par totocaracana dans le forum Windows 7
    Réponses: 4
    Dernier message: 01/07/2013, 12h21
  2. déployer un programme VB6 avec un logiciel gratuit
    Par megamario dans le forum Installation, Déploiement et Sécurité
    Réponses: 7
    Dernier message: 04/12/2010, 20h07
  3. Réponses: 1
    Dernier message: 14/06/2009, 23h40
  4. Fenêtre options d'un programme avec listbox
    Par fredza dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/10/2007, 20h09
  5. Réponses: 3
    Dernier message: 27/08/2003, 21h14

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