User Settings vs. Shared Settings
<< Click to Display Table of Contents >> Navigation: Robo-FTP User's Guide > Appendix > User Settings vs. Shared Settings |
The concept of settings is inherently complicated on a multi-user system because it is necessary to account for the numerous possible user contexts. The settings values discussed below are primarily those set by either the Robo-FTP Configurator program or the SETPROPERTY script command.
Shared Settings
Robo-FTP has shared system settings that serve as default configuration values for all users on the computer. Only members of the Administrators group may create or update shared system settings.
Beginning with Vista and Server 2008, Windows no longer automatically grants administrative permissions to programs launched by members of the Administrators group. On computers with User Account Control, the Configurator prompts administrative users choose between configuring their own user settings or the shared system settings. Administrators on older versions of Windows can use command line arguments to choose which set of settings to edit. (See: Configurator Command Line Switches).
For the purposes of this document, an administrative account is presumed to have permission to create, modify and write to the system registry under the HKEY_LOCAL_MACHINE\SOFTWARE key and also to create, modify, and write files in Robo-FTP's installation folder.
User Settings
The settings saved by a Windows user account that is not a member of the Administrators group are invisible to other users on the computer. User-specific settings are saved in the private storage space of the current Windows user. This means that any single instance of the Robo-FTP program is only able to access the user-specific settings previously configured by the same Windows login account that launched that particular instance of robo-ftp.exe.
Order of Precedence
When the current user's settings conflict with the shared system settings, the user-specific settings override the shared system settings. The default settings will remain in effect for other fields when there is no conflict.
Settings in Action
The behavior of user and system settings makes it possible to write a single automation script and share it with multiple users, each with their own unique login credentials, PGP keyrings, and custom property settings. Suppose, for example, a computer with the following settings defined for a Managed Site record named "Acme Brick" in the Robo-FTP Configurator:
Setting Type |
Address |
Username |
Initial Server Directory |
Shared |
192.168.1.75 |
anonymous |
/outbound |
User (Steve) |
192.168.1.75 |
SPatterson |
|
User (Marcus) |
192.168.1.75 |
MSmith |
/accounting |
Now suppose this computer has a simple Robo-FTP automation script that includes the following commands to connect and download all new files:
FTPLOGON "Acme Brick"
RCVFILE "*" /ifnewer
FTPLOGOFF
In this example, when Robo-FTP is launched by any Windows user other than Steve or Marcus, it authenticates as "anonymous" and downloads new files from the server's "/outbound" folder.
The applicable settings from the bottom row in the table above are active when the user named Marcus launches Robo-FTP. In this scenario, Robo-FTP sends the username "MSmith" for authentication and uses the remote “/accounting” folder as the Initial Server Directory field so new files are downloaded from that folder by the RCVFILE "*" /ifnewer command.
Finally, when Robo-FTP is launched by the Windows user named Steve, it connects using "SPatterson" as the username but, since Steve does not have a user setting defined for the Initial Server Directory field, the shared default value "/outbound" is used instead.
Troubleshooting
If you have a script that works perfectly when executed in the main console window but fails when running as a Windows Service or a Scheduled Task, try using your own user login account to launch the service or task. If that works the script may depend on user-specific settings associated with your Windows user account.
Related command(s): SETPROPERTY