web-dev-qa-db-fra.com

Windows: Autoriser les programmes normaux (non élevés) à écrire dans le répertoire Program Files

J'en ai assez des anciennes applications qui se comportent étrangement parce qu'elles ne peuvent pas écrire dans le répertoire "Program Files". Je ne veux pas avoir à les configurer manuellement pour qu'ils fonctionnent en tant qu'administrateur, et la sécurité ne me préoccupe pas particulièrement. En plus de faire confiance aux applications que je lance, je ne démarre que sous Windows pour exécuter des jeux (la partition ne ne contient aucune donnée précieuse), et je finis généralement par réinstaller Windows tous les deux mois de toute façon.

Comment créer des fichiers de programme et des fichiers de programme (x86) dans des répertoires normaux (du point de vue des autorisations) dans lesquels chaque application peut écrire, quelles que soient les autorisations?

Je suis sous Windows 10 pour le moment, mais idéalement, j'aimerais savoir comment faire cela sur 8/7/Vista également, pour référence future.

Edit: il est à noter que j’utilise une édition d'entreprise de Windows 10 pour pouvoir modifier les stratégies de groupe ou autre, si besoin est.

6
Wowfunhappy

Vous pouvez obtenir des applications pour écrire dans Program Files en modifiant les paramètres de sécurité du dossier.

  1. Accédez aux propriétés et sélectionnez l'onglet Sécurité.
  2. Cliquez sur Advanced.

    enter image description here

  3. Changez de propriétaire sur votre propre compte au lieu de TrustedInstaller et laissez-le se propager. Cela vous permet de vous ajouter à la liste des mandants.
  4. Cliquez sur 'Ajouter' et tapez votre nom d'utilisateur, appuyez sur 'Vérifier les noms' et il se corrige automatiquement.

Vous pouvez maintenant ajouter un "contrôle total" à votre nom d'utilisateur. Toutes les applications que vous exécutez doivent pouvoir écrire dans ce dossier et ses sous-dossiers.

Cela m'a aidé à faire en sorte que Chrome enregistre les profils OpenVPN directement dans son répertoire d'installation.

4
Lennart Nilsen

En raison des fonctionnalités de sécurité introduites avec Windows Vista (UAC), tout programme non-administrateur qui tente d'écrire dans des emplacements protégés tels que "Program Files" sera capturé et redirigé vers un autre emplacement "convivial".

Wikipédia déclare (et j'ai mis en évidence la section pertinente):

Les applications écrites dans l’hypothèse où l’utilisateur fonctionnait avec des privilèges d’administrateur avaient rencontré des problèmes dans les versions antérieures de Windows lorsqu’elles étaient exécutées à partir de comptes d’utilisateurs limités, souvent parce qu’elles tentaient d’écrire dans des répertoires système ou globaux (tels que Program Files) ou des clés de registre. (notamment HKLM). Le contrôle de compte d'utilisateur tente de résoudre ce problème en utilisant la virtualisation de fichiers et de registres, qui redirige les écritures (et les lectures suivantes) vers un emplacement spécifique à l'utilisateur dans le profil de l'utilisateur. Par exemple, si une application tente de: écrivez dans "C:\program files\appname\settings.ini" et si l'utilisateur n'est pas autorisé à écrire dans ce répertoire, l'écriture sera redirigée vers "C:\Utilisateurs\nom d'utilisateur\AppData\Local\VirtualStore\Program Files\appname\settings.ini ”.

Ce n'est pas quelque chose que vous ne pouvez pas changer. C'est intentionnel.

6
Dandy