Why writing is blocked to C:\Program Files, and some other locations.

It’s the Data Redirection feature that was introduced with Windows Vista, in November 2006.

Data Redirection – beginning with Windows Vista, standard users have restricted access to certain files, folders, and registry keys. When an application is trying to write to these locations, it gets redirected to somewhere else. Most of the time this is transparent to both users and application developers, but sometimes it is not and that lead to some very interesting results.

Windows Blog: Is Your Application Ready for Windows 7 RTM?

The customer had some issues running SAP Business One.  The cause?  SAP trying to write to a sub-directory under c:\Program Files (x86)\SAP .

References: