Tech Tip: Windows UAC and the "Program Files" directory
PRODUCT: 4D | VERSION: 11 | PLATFORM: Win
Published On: March 4, 2009
User Account Control (UAC) is used by both Windows Server 2008 and Windows Vista.
Here is snippet of information from Microsoft regarding UAC:
"User Account Control (UAC) is a new security component in Windows Vista. UAC enables users to perform common tasks as non-administrators, called standard users in Windows Vista, and as administrators without having to switch users, log off, or use Run As. A standard user account is synonymous with a user account in Windows XP. User accounts that are members of the local Administrators group will run most applications as a standard user. By separating user and administrator functions while enabling productivity, UAC is an important enhancement for Windows Vista." source: https://technet.microsoft.com/en-us/library/cc709691.aspx |
An important note about UAC is that "data that changes over time" should not be stored inside of the "Program Files" directory as it is a folder that is protected by UAC. UAC will cause the files stored in that directory to seem locked due to permissions.
There are however a few different situations to consider. The two most basic are:
* If your database can operate in read-only mode, it can be placed in the "Program Files" directory regardless of whether UAC is enabled or disabled.
* If your database cannot operate in read-only mode, you must either disable UAC or place it within a folder that is not protected by UAC.
There can also be more involved situations such as the following:
* If your data file is stored outside of any of the UAC protected folders, you can place the application inside of the "Program Files" directory provided the application is not using indexes (indexes are stored next to the structure).
* If your application uses indexes and UAC is enabled; you will need to either use the "Run as Administrator" option or place the entire application outside of any of the UAC protected folders.
Note: This does not only affect the data file, but the structure as well. If there are changes to the structure as part of running your application UAC could be an issue there.
For more information on UAC please see: https://technet.microsoft.com/en-us/library/cc709691.aspx
See Also: