Inside: SereneScreen Fan Forum

Inside: SereneScreen Fan Forum (https://www.feldoncentral.com/forums/index.php)
-   Marine Aquarium 3 for Windows (https://www.feldoncentral.com/forums/forumdisplay.php?f=46)
-   -   Developer Notes (https://www.feldoncentral.com/forums/showthread.php?t=4421)

Dale 01-21-2009 01:09 PM

Quote:

Originally Posted by Edgar (Post 109490)
When MA3 with installer version comes, the folder will change again to the installed folder of MA3.

That's for the logo file(s)? [Implies probable inability of individual users to have their own logos, without administrator permission?]

Dale 01-21-2009 01:19 PM

Quote:

Originally Posted by Edgar (Post 109492)
The other problem that we have to think of is the uninstalling of the screensaver. Just using the User folder makes it more difficult to remove all the files that is created by MA3. Like I said, this will require a deeper study of the situation.
There is also the habit of Windows changing the rules for each new version. That is another headache to think about.

Agree with "deeper study", and agree with "changing rules". But Windows rules are usually upward-compatible if they are followed. For instance: Microsoft has always said that you shouldn't put user-stuff in \Program Files\. But when Vista started enforcing that, lots of programs broke.

I do not agree that "Just using the User folder makes it more difficult to remove all the files that is created by MA3". It is extremely unwise for an uninstaller to touch files that are in the User folder (generalization, but applicable in most cases).

Consider a common situation: Somebody has problems with an application, contacts support (or a friend). Support says "Probably something is corrupted. Uninstall and reinstall".

Result: all users lose all personal settings.

There is a reason that almost NO APPLICATIONS will uninstall things that are in "user space".

So, it's not MORE difficult to uninstall, if you use the User folders. You just do what "everybody else" does, and ignore anything that is in User folders. That makes it EASIER. ;););)

Jim Sachs 01-21-2009 01:30 PM

How 'bout if everyone just clicks the icon and watches the fish? :)

Nicki 01-21-2009 01:36 PM

Quote:

Originally Posted by Jim Sachs (Post 109495)
How 'bout if everyone just clicks the icon and watches the fish? :)


All my issues are resolved , so that's what I'm happily doing :) . Thanks everybody .

On the uninstaller thing though - it really irks me when software leaves its little traces everywhere , especially since I like to make user files im My Documents invisible for the sake of tidyness . But maybe there could be an option to uninstall ( basic ) or uninstall ( all traces ) . That way both needs could be met .

feldon34 01-21-2009 01:44 PM

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:

If Marine Aquarium 3 is installed for "All Users" then Logos and Playlist should be stored in the reserved directory %ALLUSERSPROFILE%\Application Data\SereneScreen\.

C:\Documents and Settings\All Users\Application Data\SereneScreen\ on most but not all systems.


If Marine Aquarium 3 is installed for a specific user and different users will have different logos and music playlists, then Logos and Playlist should be stored in the reserved directory %APPDATA%\SereneScreen\.

C:\Documents and Settings\Username\Application Data\SereneScreen\ on most but not all systems.


These directories are applicable to 2000, XP, Vista, and Windows 7.


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. ;)

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.


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?).

When you Uninstall the Aquarium, should it delete all profile information and registry keys for all users?

Derrek 01-21-2009 02:08 PM

Quote:

Originally Posted by Jim Sachs (Post 109495)
How 'bout if everyone just clicks the icon and watches the fish? :)

That's too funny. It gave me a good laugh.

It has been so long so I don't remember but did you have the cross compatibility problems with the first screensaver and Windows 98/ME/2000/XP

feldon34 01-21-2009 02:10 PM

The installer/uninstaller package I really like, although it may be too limited for your needs, is AGENTIX. It adds just 37kb to the package, and I am very happy with the feature set and ease of setting it up. It's very streamlined and quick to open and close. I find it is not buggy, flaky, and massive bloatware like InstallShield tends to be.


If you want a more powerful but still lightweight installer, consider the Nullsoft Installer. It is open source and has a ton of functionality and a full scripting language. It's easy to add pages like requesting and verifying a serial number during the installation, and easy to do different languages.

There are a lot of example code on how to use Nullsoft, even how to interact with REBOL.

One idea is to put a small cleanup batch file inside the User Profile folder and set that batch file to run, deleting all the other files in that folder, and then itself. You can tell Windows to run that script if someone clicks remove in "Add/Remove Programs".

This seemed useful:
http://nsis.sourceforge.net/Add_unin...emove_Programs

feldon34 01-21-2009 02:11 PM

Quote:

Originally Posted by Derrek (Post 109500)
That's too funny. It gave me a good laugh.

It has been so long so I don't remember but did you have the cross compatibility problems with the first screensaver and Windows 98/ME/2000/XP

MA3 is written in DirectX 9, so it requires 2000, XP, Vista, or Windows 7. It will not work on 95/98/Me at all.

Derrek 01-21-2009 02:19 PM

Quote:

Originally Posted by feldon32 (Post 109502)
MA3 is written in DirectX 9, so it requires 2000, XP, Vista, or Windows 7. It will not work on 95/98/Me at all.

I understand that. I was referring to MA1 (or beta name .99)

Jim Sachs 01-21-2009 02:26 PM

No, I just wrote that one for Win98.

Dale 01-21-2009 03:08 PM

Quote:

Originally Posted by feldon32 (Post 109498)
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.

Quote:

Originally Posted by feldon32 (Post 109498)
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]

Quote:

Originally Posted by feldon32 (Post 109498)
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.

Quote:

Originally Posted by feldon32 (Post 109498)
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.

Quote:

Originally Posted by feldon32 (Post 109498)
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.]

Quote:

Originally Posted by feldon32 (Post 109498)
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.

rps 01-21-2009 05:38 PM

My $0.02... I think Dale is right on the mark with his comments, and his description of how a "well-behaved" Windows program should work. Microsoft has defined specific "folder symbols" (that are mapped to real folders, on a user by user basis), and what each folder should be used for. There are Win32 API functions for retrieving that information. (See: SHGetFolderPath, CSIDL_PROGRAM_FILES, and CSIDL_APPDATA)

~Ralph S.

Edgar 01-21-2009 06:48 PM

On the next build, if Jim approves it, the user folder will be created in the directory pointed by the environment variable "APPDATA".

If MA3 is successful getting that value and MA3 was able to create "Marine Aquarium 3" folder there, then the MA3Playlist.lst will be written there.

If you need to have an AltLogo.png, put it in that same folder.

It will make this even more complicated for users to find their user data folder but it will prevent the file write access problem that is being reported here.

Dale 01-21-2009 09:12 PM

Quote:

Originally Posted by Edgar (Post 109522)
On the next build, if Jim approves it, the user folder will be created in the directory pointed by the environment variable "APPDATA".
..........
It will make this even more complicated for users to find their user data folder ....
.

The usual way to "uncomplicate" that is to provide a way for the user to DISPLAY (and perhaps click-on-to-go-to) any folders of interest. Then you can just tell the user what button to click on, to find their data folder.

It is common to display various significant folder paths in the "About" screen.

That would work for MA3, and it would be perhaps even more logical to display the significant folder paths in the "Program Settings" panel.

[Gilding the lily: allow users to CHANGE these paths, by changing what is shown on that panel - perhaps optionally moving the current contents to the new path]

Jim Sachs 01-21-2009 10:14 PM

Edgar's latest try at a Vista security hole fix: Beta 8g

http://www.fish-byte.com/MA3Beta.zip

cjmaddy 01-22-2009 04:44 AM

The 'L' key logo change is not working again in Beta8g. - So where must we now move the AltLogo file to this time? - It's still in the MA26 install folder, and I've tried it in the '8g' MA3Beta.scr folder. - The alternate logo will still display in Beta8f, but not in this latest Beta8g.

The misalignment effect I've previously described is still present. Shouldn't it be pointed out that if MA3 is to be viewed on more than one monitor, then all monitors must be the same size and set to the same resolution? - This may be considered obvious to some, - but unlike similar programs, (MA2.6 for instance), MA3 does not display the whole scene at a reduced resolution, unless both screens are similarly reduced.

jleslie 01-22-2009 07:25 AM

On the uninstaller - I think it should have an option to leave the configuration files behind, but should also be able to remove everything. That's considered good behaviour for an uninstaller...
John

Jav400 01-22-2009 07:46 AM

Personally it tick's me off no end for a program to leave files behind. If I want something deleted from my system, I expect it to be as if it was never there after a uninstall.

Edgar 01-22-2009 10:26 AM

If you try to add a entry in the playlist for the frist time, check the folder it opens up from, that will be the folder where you need to put the AltLogo.png.

loub516 01-22-2009 10:40 AM

That's where mine is but the L key is not working. Beta 8g


All times are GMT -6. The time now is 12:52 PM.

Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.