The following FAQ refers to problems that can occur when running Softalk Share Server 1.2 and its predecessors under Windows Vista with User Account Control Enabled. Note: If you are performing a clean installation of Softalk Share Server 1.3 then you need not read this FAQ; Softalk Share Server 1.3 will function correctly with User Account Control enabled.
Under Windows Vista with UAC enabled, if a process attempts to write to a file to which it does not have access, then the file will be copied to the virtual store and the copy of the file modified. All future access to this file by this user will be redirected to the virtual store.
The virtual store is located in the following location by default:
It is important to note that the virtual folder is unique for the user who tried to access the file. If two users try to access the file then each user would have his own copy of the file, the modifications made to the file by one user would not be absorbed by the other and vice versa. If one user is an administrator then changes made by this user will not be copied to a virtual store but would be for a user who does not have access, again causing two different copies of the file.
Undesirable creation of files in the Virtual Root in Softalk Share Server
In Softalk Share Server version 1.2 and its predecessors, the default data folder is
%commonprogramfiles%softalkdata. Note: Softalk Share Server upgraded from v1.2 and earlier will continnue to use this path. The
%commonprogramfiles% folder (
C:program filescommon files by default) is read-only to members of the users group and full permissions are granted to members of the Administrator group.
With UAC enabled, Windows will force setup to run as an Administrator because of the application having the word setup in its filename. Every process instantiated by the setup will also run under those administrative credentials. Setup will correctly create the files under the
%commonprogramfiles%softalkdata folder because it is running under administrative credentials (files will not be copied to virtual root). However, if running as a service, then there are two situations that are physically able to occur:
The service is set to run as a user that is not an administrator, the data files and RefData are copied to the virtual root folder of this user and modified therein.
The service is set to run as an administrative user, but the Softalk Share Server Administrator is running under the current user credentials, which are of a normal user. The normal user does not have write access to the
%commonprogramfiles%softalkdata folder so if any changes are made in the administrator (such as adding a user) then the database file will be copied to the virtual root.
Both of the above situations can only occur with UAC enabled in 1.2 build and its predecessors.
To prevent this problem from occurring, it must be assured that the permissions of the data folder are such that the user under which the service is running (if running as a service) and the currently-logged-on user by which the administrator is opened have read/write access to the data folder.
The permissions may be set by navigating to the data folder (
%commonprogramfiles%softalkdata) in version 1.2 and its predecessors), right-clicking on the folder, selecting properties from the context menu and clicking on the security tab. The users in question should be given read/write access.
It is recommended that User Account Control be turned off by going into Control Panel, clicking on user accounts, clicking on Turn user account control on or off and un-checking the Use User Account Control checkbox. A reboot is required.
If a virtual copy of the folder appears to be used by the service and user account control is turned off, then the virtual copy will no longer be used. The database would appear