110 votes

"ClickOnce ne prend pas en charge le niveau d'exécution de la demande 'requireAdministrator'."

J'ai donc écrit une application qui nécessite un accès au registre. Je n'avais pas touché aux paramètres de compilation, car je voulais que l'application fonctionne avant d'ajouter d'autres éléments, comme une description ou un nom.

Tout à coup, j'ai une erreur qui ne disparaît pas. ClickOnce does not support the request execution level 'requireAdministrator'. Maintenant, je n'avais pas touché à ClickOnce dans cette application. Tout ce que j'avais fait était d'inclure un fichier manifeste demandant ces permissions.

Mon problème maintenant est que cette erreur ne disparaît pas, et je ne peux pas compiler mon programme. Avez-vous des conseils sur la marche à suivre ? (Note complémentaire : je suis sur le point d'aller me coucher, je vérifierai donc demain après-midi).

6 votes

Je déteste énoncer l'évidence ici, mais vous avez ajouté un manifeste demandant requireAdministrator permissions et ClickOnce a commencé à se plaindre qu'il ne supporte pas requireAdministrator . Le problème devrait être extrêmement clair. ClickOnce voit la nécessité d'une élévation dans votre manifeste (qui devient une partie de votre application). Je ne suis pas sûr de ce que vous avez besoin de plus ici ...

6 votes

@KenWhite : Cependant, il n'est peut-être pas tout à fait évident ni logique que l'exigence d'administration combinée au clic une fois vous empêche de compilation de le projet, et pas seulement le faire fonctionner - mais il le fait.

0 votes

@500-InternalServerError, la logique devrait vous dire qu'une relation de cause à effet existe simplement par le fait que l'ajout de "requires Admin" entraîne la non-compilation à cause de quelque chose à voir avec "requires Admin not supported", IMO. :-)

167voto

Liam McSherry Points 1321

Il s'avère que sous l'onglet Sécurité, la case "Activer les paramètres de sécurité de ClickOnce" était cochée. Même si je ne l'ai pas coché.

Quoi qu'il en soit, en décochant cette case, ClickOnce a arrêté de me donner des erreurs. Cela a pris un certain temps à trouver...

3 votes

Ah, je pensais que c'était évident d'après le message d'erreur que vous avez obtenu ;)

4 votes

Ce qui m'a troublé, c'est que je n'ai pas activé ClickOnce.

0 votes

Bonne question et réponse, cela m'a aidé, merci !

22voto

Victor Rosu Points 21

Si vous utilisez l'assistant de publication ou "Publier maintenant", la case à cocher "cliquer une seule fois" est automatiquement sélectionnée...

2voto

Prashant Points 49

J'ai le même problème s je le résous en décochant le " Activer les paramètres de sécurité de ClickOnce" Pour trouver cette option dans Visual Studio, cliquez avec le bouton droit de la souris sur votre Projet ==>Propriétés==>Sélectionner Sécurité==> Activer les paramètres de sécurité ClickOnce (Cette option était déjà cochée, je l'ai donc décochée et mon problème a été résolu).

0voto

Razavi Points 37

J'ai eu le même problème - je ne peux pas construire le projet en raison de l'erreur "ClickOnce ne prend pas en charge le niveau d'exécution de la demande 'requireAdministrator'". Je ne veux pas utiliser ClickOnce. Mes étapes pour réparer :

  1. Supprimez ces éléments de votre fichier de projet (.csproj)

    <PropertyGroup>
     <PublishWizardCompleted>true</PublishWizardCompleted></PropertyGroup>
    <PropertyGroup>
     <ManifestCertificateThumbprint>xxx (some value) xxx </ManifestCertificateThumbprint>
    </PropertyGroup>
    <PropertyGroup>
     <ManifestKeyFile>SomeFile_TemporaryKey.pfx</ManifestKeyFile>
    </PropertyGroup>
    <PropertyGroup>
     <GenerateManifests>true</GenerateManifests>
    </PropertyGroup>
    <PropertyGroup>
     <SignManifests>true</SignManifests>
    <ItemGroup>
     <None Include="SomeFile_TemporaryKey.pfx" />
    </ItemGroup>
  2. Supprimer "SomeFile_TemporaryKey.pfx" de Solution

  3. Ne pas toucher à l'onglet "Publier" et au bouton "Publier" dans l'option de projet à l'avenir.

0voto

Brian Points 1531

Regardez dans votre fichier app.Manifest et vous verrez ceci :

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

Il y a des instructions dans les commentaires, mais le fait de supprimer le "requireAdministrator" et d'insérer ceci à sa place a résolu le problème pour moi :

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

3 votes

Le PO dit qu'il a besoin d'un accès au registre dans son application, ce n'est donc pas une option.

0 votes

requireAdministrator est nécessaire pour écrire dans le registre, il s'agit donc d'une exigence.

0 votes

ClickOnce ne prend pas en charge le niveau d'exécution de la demande. asInvoke

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X