2009-12-05 22 views
0

Je rencontre des problèmes avec mon application C# qui utilise win32_networkingadapterconfig. Le problème est que je ne peux pas utiliser les fonctions de modification dans win32_networkingadapterconfig lorsque j'utilise l'application sur un utilisateur qui n'a pas les droits d'administrateur. J'ai essayé de "courir en tant qu'administrateur", mais pas de chance. Et je l'ai essayé de faire un manifestfile avec ce contenu dans la partie trustInfo:Comment donner à mes droits administratifs de l'application C#? fichier manifeste

<security> 
    <applicationRequestMinimum> 
    <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" /> 
    <defaultAssemblyRequest permissionSetReference="Custom" /> 
    </applicationRequestMinimum> 
    <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

    </requestedPrivileges> 
</security> 

Activer les paramètres de sécurité clickone sont mis à la pleine confiance. Qu'est-ce que je fais mal ?

+0

Les applications ClickOnce ne prennent pas en charge l'élévation de niveau administrateur. –

+0

Cependant, j'ai le même problème avec un EXE autonome et il n'élève pas non plus. –

Répondre

4

Il y a un "trustinfo" dans votre extrait. Faire ressembler à ceci:

<?xml version="1.0" encoding="utf-8"?> 
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</asmv1:assembly> 
+0

Ouais c'était juste un c/p échouer quand je devais l'ajouter ici, désolé! – Oppermann

+0

Je suis assez sûr que Windows ne vous permettra pas non plus de rediriger les entrées/sorties/erreurs standard à travers la frontière de sécurité admin/non-admin. Vous devrez trouver une autre façon d'obtenir la sortie du programme en cours d'exécution en tant qu'administrateur - Référence: http://stackoverflow.com/a/8690661 – Kiquenet

+1

Eh bien, ce serait une raison de vouloir utiliser un manifeste comme celui-ci bien sûr . –

2

Il y a un certain nombre de questions possibles que j'ai énumérés dans l'ordre que je soupçonne est le plus susceptible à moins probable.

Problème possible 1
Quels sont vos paramètres UAC? Comme indiqué dans Create and Embed an Application Manifest (UAC) si vous avez UAC désactivé et que vous demandez des autorisations d'administrateur du

application pourrait lancer, mais échouera plus tard

Problème 2
Il pourrait y avoir quelque chose de mal d'autre où dans le manifeste que les informations d'assemblage sont nécessaires. Poster votre manifeste entier aiderait.

Problème 3
Vous avez ajouté le noeud applicationRequestMinimum qui ne sont pas requis pour l'escalade UAC. Il peut être utile de laisser tomber cela et d'essayer à nouveau.

+0

Je suis assez sûr que Windows ne vous permettra pas non plus de rediriger l'entrée/sortie/erreur standard à travers la frontière de sécurité admin/non-admin. Vous devrez trouver une manière différente d'obtenir la sortie du programme en cours d'exécution en tant qu'admin - Référence: http://stackoverflow.com/a/8690661 – Kiquenet