As Vince points out, Windows 7 applies stricter security and settings rules on anything in the "Program Files" and "Program Files(x86)" folders. The simple solution is just to install applications that run afoul of Windows 7's rules into a different folder.
On my system, I create a folder named "MSTS Utilities" right on the C: drive, and I install utilities like Shape Viewer, Route Riter, Train Store etc. in their own subfolders there.
When an installer runs, it reads the Registry or just assumes that programs get installed in C:\Program Files or C:\Program Files(x86); you just need to edit the path it shows you by removing the default "Program Files" bit and replacing it with your custom folder.
I maintain several of these "special" compatibility folders to group related older applications on my computer. At work, we just create one folder named "Compatibility" that's a mish-mash of applications, just like the "Program Files" folder is. Oddly, this is still one of the least-understood, hardly-documented and yet simple fixes in the IT world, at least in my neck of the woods. The usual response I hear from tech people who should know better is "That program must be incompatible with Win7, so you'll have to buy a new version." That doesn't exactly fly when an entire business process is wrapped up in an older application...
