16

I am tired of old applications behaving strangely because they cannot write to the "Program Files" directory. I don't want to have to manually set them to run as administrator, and I am not particularly concerned about security--in addition to trusting the applications I run, I only ever boot into Windows to run games (so the partition doesn't contain any valuable data), and I usually end up reinstalling Windows every couple of months anyway.

How can I make Program Files and Program Files (x86) into normal directories (from a permissions perspective) that every application is able to write to, regardless of permissions?

I happen to be running Windows 10 at the moment, but ideally I'd like to know how to do this on 8/7/Vista as well, for future reference.

Edit: I should note that I happen to be using an enterprise edition of Windows 10, so I can modify group policies or whatever else if need be.

7
  • 2
    Change the permissions on that program folder.
    – Moab
    Jan 25, 2016 at 23:45
  • I assumed this was what I needed to do, but Windows's UI doesn't make it immediately clear (at least to me) what I need to change or how to change it. If you could give me some more detailed guidance, I'd really appreciate it. Jan 25, 2016 at 23:47
  • Pretty sure this was the purpose of introducing the Program Data dir. They don't want you to be able to write to Program Files anymore.
    – Dandy
    Jan 25, 2016 at 23:59
  • 2
    I know that they don't want me to, but I do and it's my computer! >:0 Jan 26, 2016 at 0:03
  • Added a more meaty reply. Welcome to Windows, its their code, they don't want you to! I'm sure there's a way to hack around it, but this'll cause more problems then it solves I'm sure.
    – Dandy
    Jan 26, 2016 at 0:04

2 Answers 2

11

You can get applications to write to Program Files by changing the folder's security settings.

  1. Go to properties and select the Security tab.
  2. Click Advanced.

    enter image description here

  3. Change ownership to your own account instead of TrustedInstaller, and let it propagate. This allows you to add yourself to the list of principals.
  4. Click 'Add' and type your username, press 'Check names' and it autocorrects.

Now you can add 'Full control' for your username, and all applications you run should be able to write to this folder and its subfolders.

This helped me get Chrome to save OpenVPN profiles directly to its install directory.

0
9

Due to security features introduced with Windows Vista (UAC) any non-Administrator program that tries to write to protected locations such as "Program Files" will get their writes caught and redirected to an alternative "user friendly" location.

Wikipedia states (and I've highlighted the relevant section):

Applications written with the assumption that the user will be running with administrator privileges experienced problems in earlier versions of Windows when run from limited user accounts, often because they attempted to write to machine-wide or system directories (such as Program Files) or registry keys (notably HKLM). UAC attempts to alleviate this using File and Registry Virtualization, which redirects writes (and subsequent reads) to a per-user location within the user’s profile. For example, if an application attempts to write to “C:\program files\appname\settings.ini” and the user doesn’t have permissions to write to that directory, the write will get redirected to “C:\Users\username\AppData\Local\VirtualStore\Program Files\appname\settings.ini”.

This just isn't something you can't change. This is intentional.

6
  • So there's no way to stop Program Files from being a protected location? Jan 26, 2016 at 0:04
  • 1
    Sure;You can permanently change the permission but that will break Windows
    – Ramhound
    Jan 26, 2016 at 0:24
  • 1
    The real issue is with the software being written to not work properly with Windows as it's supposed to so yes, perhaps you can set explicit security, hack a registry setting, etc. for a workaround to the software issue, but the real issue is the software coder or vendor is not writing the code to work with newer versions of Windows as they should understand. I've seen this time and time again for software even sold to businesses having issues. I ALWAYS scream back at the vendors to put pressure on for a real solution to make it their problem, they need to feel the pain too it's their software Jan 26, 2016 at 4:50
  • 4
    @Ramhound When you say it would "break" Windows, do you have an idea of what exactly the side effects would be? Jan 29, 2016 at 1:27
  • 1
    Applications that expect the correct behavior will not work
    – Ramhound
    Jan 29, 2016 at 1:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .