Maison >développement back-end >C++ >Pourquoi l'exécution d'un EXE dans Program Files provoque-t-elle une exception System.UnauthorizedAccessException ?

Pourquoi l'exécution d'un EXE dans Program Files provoque-t-elle une exception System.UnauthorizedAccessException ?

DDD
DDDoriginal
2025-01-09 18:38:41959parcourir

Why Does Running an EXE in Program Files Cause a System.UnauthorizedAccessException?

Erreur System.UnauthorizedAccessException lors de l'exécution d'EXE à partir de fichiers programme

Lors de l'installation d'exécutables (fichiers .exe) dans le répertoire C:Program Files à l'aide de WiX, tenter de les exécuter peut déclencher un System.UnauthorizedAccessException. En effet, le répertoire Program Files dispose d'autorisations de sécurité strictes qui empêchent les comptes d'utilisateurs standard d'y écrire.

Voici comment résoudre ce problème courant :

  • Évitez l'écriture des fichiers programme : La meilleure solution est d'éviter d'écrire dans des emplacements restreints tels que les fichiers programme. Utilisez plutôt les dossiers de données d’application désignés. Une alternative pratique est :
<code class="language-csharp">Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)</code>
  • Exécuter avec des privilèges élevés : Si l'écriture dans Program Files est inévitable, exécutez l'exécutable avec des privilèges administratifs. Pour ce faire :
  1. Cliquez avec le bouton droit sur l'exécutable.
  2. Sélectionnez « Exécuter en tant qu'administrateur ».
  3. Entrez vos informations d'identification administratives si vous y êtes invité.

Cette approche accorde les autorisations nécessaires pour surmonter la restriction d'accès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn