First off, apoligies if this is a bit more unstructured than the rest of what I've posted. I've been fighting with the console command ICACLS all day without making any progress whatsoever, and crying blood, until I found another solution. Basically my brain
is mush and I won't be as thourough as I usually am.
I've tested it now, and it seems to work perfectly.
Getting around the protection of the Program Files folder wasn't a huge hassle once I made a linux
USB drive, but putting the same NTFS permissions on the symbolic link (and the folder it pointed to, as well) proved to be quite challenging.
I'll assume you're on a 64 bit windows 7 installation, and want to do this to both your Program Files
folder, and Program Files (x86).
Here's what I did to make it work:
Start by making a bootable Linux USB drive first. That way you can work while it's downloading/installing, and you don't have to wait on it after you've done what
you can before you need it.
Download NTFS Permission Tools, a free tool that lets you do in seconds what I've spent an entire day trying (and failing) to figure out how to do by
command line. You can get it as a portable version so you won't actually have to install it. (I can't link it here because Microsoft hasn't verified my account yet.)
Copy the C:\Program Files folder and C:\Program
Files (x86) to where you want them to be stored after this. I used D:\Symlinked C Drive\Program
Files and D:\Symlinked C Drive\Program
Files (x86), respectively.
Create the symbolic links somewhere that is not the C: drive. You can't create a link where there already exists a folder with the same name. The syntax is this: mklink /d <path to the created link> <path the link will
point to> (Remember to run it in CMD with admin privileges). In my case, for the regular Program Files folder, I wrote this: mklink
/d "C:\New folder\Program Files"
"D:\Symlinked C Drive\Program Files"
Restart your computer in Linux. Don't actually install it, just run it directly off the USB drive
Delete the C:\Program
Files folder. DO NOT DELETE THE C:\Program Files (x86) FOLDER
YET. Move the symbolic link Program
Files to the root of C:.
Back to Windows.
Open NTFS Permission Tools, and navigate through it to your C: drive. Right click the folder Program Files (x86) and copy permissions. Right click again and copy security
settings. Now paste both to the symbolic link Program Files.
While still in NTFS
Permission Tools, navigate to where you copied the program file folders to. In my case, it was "D:\Symlinked
C Drive". Paste both permissions and security settings to both Program Files and Program
Files (x86).
Back to Linux.
Delete the C:\Program
Files (x86) folder. Move the symbolic link Program
Files (x86) to the root of C:.
Back to Windows.
Open NTFS Permission Tools, and navigate through it to your C: drive. Right click the symbolic link Program Files and copy permissions. Right click again and copy
security settings. Now paste both to the symbolic link Program Files (x86).
And now you're done.
-
Marked as answer by
Me, of Course
Saturday, May 24, 2014 6:57 PM