Detect read-only folder and allow alternative selection

Description

Tasks to be done:

  • Checking for a read-only custom data folder and allowing the reactive
    selection of a new folder in addition to the current preferences.

  • Checking for a read-only character folder and allowing the reactive
    selection of a new folder in addition to the current preferences.

SourceForge ID: 1244694
New summary: Make PCGen (Windows) Least-privileged User Account friendly
Type: New Feature
Priority: Major
=====
Details:

Windows users are being encouraged of late to select
Least-Privileged User Accounts (LUA) for daily tasks,
reserving Admin accounts for tasks that absolutely require
it. This is much more secure than running as an Admin all
the time (which is, unfortunately, the default for most XP
users).

PCGen is already partially "LUA friendly", as it allows users
to choose the location of application folders, thereby
enabling the user to choose a "Character" folder that is not
under "Program Files" (a region of the file system that is
readable but not writable by a LUA account). Unfortunately,
the LUA user has to go in and make these changes up front
before successful use of the application is possible.

PCGen for Windows should use the "home" dir,
(C:\Documents and Setings\<userid>\.pcgen) as the
default location for folders where the application or user are
expected to write or modify files. This includes
the "characters" and "customsources" folders.

PCGen for Windows should automatically place the
options.ini file under the user's local application data
folder: "C:\Documents and Settings\<userid>\Local
Settings\Application Data\PCGen". Alternatively, it could
store the options data in the Windows Registry under
HKCU (LUA users can't write to keys under HKLM).

There are possibly other ways and areas of PCGen than
are not LUA friendly which I have not run into yet. I am
also much less familiar with GMGen, having only used it
once or twice so can not comment on what specific LUA
issues it may have. Nevertheless, I would request that the
entire PCGen and GMGen applications be scrutinized and
tested for LUA friendlieness.

Thanks for your time and consideration.
Jenni A.M. Merrifield = strawberryJAMM

PS: Some information on developing for LUA:
http://nonadmin.editme.com/DevelopingAsNonAdmin (It's
Windows oriented, but there's some good stuff there that
would apply to any developer on any OS)
Submitted:

Jenni Merrifield ( strawberryjamm ) - 2005-07-25 14:32:53 EDT
=====
Date: 2007-11-14 03:16:53 EST
Sender: jdempseyProject Admin & Donor
Hide

Moved task #1 from the comment below to 1831621 - Move point buy
definitions to Custom data.

Date: 2007-11-05 07:22:17 EST
Sender: jdempseyProject Admin & Donor
Hide

Much of this is already done as of 5.12, with the program defaulting to
using the user's home directory for the settings files. Thus the program
can be started and settings retained when installed in a read-only
directory.

On Windows the home directory is the user's folder under Documents and
Settings.

Still to be done is
1) Writing the point buy methods to the custom data folder
2) Checking for a read-only custom data folder and allowing the reactive
selection of a new folder in addition to the current preferences.
3) Checking for a read-only character folder and allowing the reactive
selection of a new folder in addition to the current preferences.

These steps would avoid the need to build up the installer.

Date: 2007-05-11 11:26:49 EDT
Sender: kariannaSourceForge.net DonorProject Admin & DonorAccepting Donations
Hide

An issue for you now James, I'd get Edwin C Holley to take a look (he's
the windows release monkey)?

Date: 2005-09-28 05:21:09 EDT
Sender: kariannaSourceForge.net DonorProject Admin & DonorAccepting Donations
Hide

Logged In: YES
user_id=252169

You can have platform specific code in Java, it's just not
'nice', the code SB may not allow it . - K

Date: 2005-09-27 18:22:59 EDT
Sender: ericbeaudoin
Hide

Logged In: YES
user_id=324612

NIS may have something to install the whole program in the
user dir (I'll have to check for that but I don't think so) but it
really sucks at trying to parse and write ini files. The ini files
are normally created by the PCGen application so it should
deal with LUS issues. The problem is that it is build to be
cross plate-form so I'm not sure it is wise to try to incorporate
plate-form related code in PCGen. I also don't know if it is
even possible to do so with a Java program. (Kar, do you
know?)

I'll try to find something but for now, my advise is to do the
same this that the UNIX users do i.e. if you are not an
administrator, install PCGen in the user directory or any
other directory where the user has read and write access.
Moving the ini files and the Custom dir is not enough anyway
since the stregnt of PCGen is the customization and advance
users change the .lst and game system files to
accommodate their home rules.

Date: 2005-09-27 08:13:47 EDT
Sender: kariannaSourceForge.net DonorProject Admin & DonorAccepting Donations
Hide

Logged In: YES
user_id=252169

Release monkey

Date: 2005-08-06 14:31:54 EDT
Sender: strawberryjamm
Hide

Logged In: YES
user_id=931361

As an addendum, "Windows Vista", which is in Beta 1, enforces
least privileges for all users (including administrators) by default,
requiring a username and password to run anything with higher
privileges.

If work is done now to make PCGen a LUA application then it will
have a better chance of working smoothly on "Windows Vista"
when it ships next year.

Date: 2005-07-25 14:37:13 EDT
Sender: strawberryjamm
Hide

Logged In: YES
user_id=931361

Added "for Windows" to the Summary

Environment

None

Assignee

Unassigned

Reporter

User Submissions

Labels

Theme

None

Epic/Theme

None

Pending User Input

None

Components

Affects versions

Priority

Major
Configure