Thread: Developer Notes
View Single Post
Old 01-21-2009, 03:08 PM   #311
Dale
Banned
 
Join Date: Jun 2005

Location: Western Missouri
Posts: 960
Originally posted by feldon32:
I am assuming the the Marine Aquarium 3 installer application will prompt to install for "All Users" or the "Currently Logged in User" as most installer packages now offer this choice.


Now you cannot assume that the C: drive is the boot drive. Further, you cannot assume that Documents and Settings is the profile folder. From Windows XP Environment Variables:  
Yes, as you say, environment variables must be used. Such as %PROGRAMFILES% for where the program files go.

Originally posted by feldon32:
If Marine Aquarium 3 is installed for "All Users" then Logos and Playlist should be stored in the reserved directory %ALLUSERSPROFILE%\Application Data\SereneScreen\.  
I do not agree. Installing the PROGRAM for all users simply means that any user can run the PROGRAM. The "default" logos and playlist could (and probably should) be located somewhere other than %PROGRAMFILES%. And the logos (and/or logo selection list) and playlist for each INDIVIDUAL USER could be located in %APPDATA% or the user's "My Documents", or wherever.

If the PROGRAM is installed for only "Current User", then that simply means that the PROGRAM is accessible to only that user. That decision is not usually DIRECTLY related to where files reside. And there are various good ways to accomplish the "protection" that allows only that one user to use this installation of the program. [And, BTW, there must be provision for the program to be installed for two or more individual users, but not all users]

Originally posted by feldon32:
The challenges:

When you install the Aquarium as All Users, a flag needs to be set somewhere for the Aquarium to look at one registry tree and one Documents and Settings folder regardless of the logged-in user. By the way this makes Uninstall easy.  
No, that's not necessary. Depending on what the designers want, it's easy enough to have the PROGRAM use what's applicable to an individual user to totally override the defaults; or to have the program look in the defaults AND look to see if the user has individual customizations, or several other PROGRAMMING possibilities, including having the PROGRAM, when first run for a user, transfer all of the system defaults to a folder in the user's area.

Originally posted by feldon32:
However if you install the Aquarium on a User Account, then CURRENTUSER of the registry is used, and a specific user Profile folder inside Documents and Settings is used for that user's logos and playlists. If a user logs out and logs in, then they are using a different registry key, and different SereneScreen logo folder.  
That's one possible implementation.

Originally posted by feldon32:
Now, how smart should the Aquarium then be expected to be? If you create a new user account should it scan the registry to see if there is an existing Aquarium Settings (especially one with a valid keycode?).  
The usual alternative is to not do anything when a new user account is created. But if the user CAN run the PROGRAM, when the PROGRAM first runs, it checks to see if the needed folders/files/whatever are in that user's space. If not, they are created at that time. [Alternatively, by program design, those folders/files might be created only if the user chooses to make customizations to the system defaults, add logos, playlists, etc.]

Originally posted by feldon32:
When you Uninstall the Aquarium, should it delete all profile information and registry keys for all users?  
*OPINION* it should delete only those things that would be RE-created by a RE-installation. In other words, any individualizations or system customizations should NOT be deleted.

Yes, I agree with the previous comment that it is "annoying" that uninstall programs leave a lot of things behind, but:

A. Most users never know, and therefore aren't annoyed.
B. Most users WOULD be annoyed if an uninstall/reinstall lost their settings.
C. That's why "registry cleaners" exist, for those who are annoyed.
Dale is offline   Reply With Quote