|Subject:||Re: Mapped Drives Pdox9
|Date:||Thu, 7 Sep 2017 07:57:34 -0500
|From:||Mark Bannister <markRemove@THISinjection-moldings.com>
I use your BDE installer on all systems so I'll try moving paradox.
On 9/6/2017 9:10 PM, Leslie wrote:
> "Mark Bannister" <markRemove@THISinjection-moldings.com> wrote in message
>>> Yes and the correct "way around this" is to not run Paradox elevated.
>> I agree but we have Paradox on 6-7 machines, mostly Win 7, and most run
>> just fine. Two have to run elevated. I've never been able to figure it
> The reason why a program has to run elevated is due to write permissions not
> being granted under a User account.
> A rough description of the main offenders are:
> 1. The Registry:
> Applications no longer have write permission by default to the
> HKEY_LOCAL_MACHINE registry branch. Modern applications should use
> HKEY_LOCAL_MACHINE at install time and HKEY_CURRENT_USER at runtime.
> Paradox (and the BDE) have not been updated to follow those rules. So, if
> they need access to the HKEY_LOCAL_MACHINE branch at runtime then you can
> manually set permissions on the area you require - obviously avoiding doing
> the entire branch for security reasons.
> 2. Folder Permissions:
> In the beginning of time, the Windows standard was to install applications
> in the Program Files folder with a subfolder containing the data. Since
> Windows Vista (and UAC) applications by default no longer have write access
> to their own folder nor subfolders at runtime. As such, data should no
> longer be stored in a subfolder.
> There are two solutions to this problem:
> (i) Move the data to another location (recommended), or
> (ii) install the application outside of the Program Files folder and thus
> the data subfolders will then be writable.
> 3. The BDE
> For our BDE installer we implemented a combination of 1 & 2 above. Luckily
> the BDE has a setting that tells it to store its configuration settings in a
> cfg file rather than the Registry.
> Of course, those applications that do the wrong thing and read the BDE
> settings directly from the Registry will now be retrieving out of date
> settings. There is an API to get those settings which works with settings
> stored in the cfg file. So the golden rule for any external library is never
> to directly read the registry for settings if an API exists - use that
> But even storing the settings in the cfg file may not work if the BDE was
> left to install itself at the default location \Program Files\Common
> Files\BDE (or similar). So we moved it outside of the Program Files folder
> (our default is now Windrive:\BDE32)
> But that is our installer, not the one that ships with Paradox For Windows.
> If you continue to use the Paradox version of the BDE then you either have
> to manually configure the BDE yourself (not that hard to code) or any
> application that uses the BDE must run elevated - Not a good solution.
> Hopefully this information mayl help you determine why those two machines
> need to run Paradox elevated. But don't forget that you can always install
> Paradox in say C:\Paradox9 which will writable at runtime and thus should
> not need to run elevated with a correctly configured BDE.