Hi Ari!

You've run into a problem that tripped me up for a while:
REBOL doesn't put its data in the proper places on Windows
2000 and above - in other words, it is not "logo-compliant".
REBOL's default install puts its program file and data files
in a directory under Program Files. Since Windows security
settings prevent a standard user from writing to these
program directories, only a "Power User" or administrator
has sufficient permissions to use REBOL/View by default.

Fortunately you can hack a REBOL/View install manually to
make it mostly logo-compliant, and thus allow it to be used
by ordinary users without being a security risk. Here's a
quick overview, assuming a standard install of Windows 2000
or above and REBOL/View 1.2.1 to 1.2.8 (please bear with me
if you know some of this, I'm trying to make it useful to
others that have the same problem):

First, let REBOL/View install itself into some central place
such as "C:\Program Files\REBOL\View". This will set up most
of the global settings in the registry and some of the local
ones. Close REBOL. REBOL may have downloaded some files to
this directory for the desktop - if this is a new install,
you can delete everything but the program files.

Next you need to create the local user settings. These are
stored in the user profile directory, sort of like a user's
home directory on Unix. Windows 2000 and above store their
profiles in directories under "C:\Documents and Settings",
earlier versions of NT under C:\WINNT\Profiles. If you have
trouble finding your profile an environment variable named
USERPROFILE points to it automatically - this is like the
Unix variable HOME, which is not defined by default on
Windows. The Gimp uses USERPROFILE on Windows by default.

Now, you'll need to repeat this for each user that already
has a user profile created. Find the "Application Data"
folder in the profile directory. It will be hidden. If you
aren't sure where it is, there is an environment variable
APPDATA that points to it. Create a REBOL subdirectory in
that folder. That will be your REBOL home folder - make a
note of where it is, it's time to hack the registry.

Open a registry editor and find the key:
   HKEY_CURRENT_USER\Software\REBOL\View
Under that key there will be a string value named HOME,
which will contain a REBOL-format directory name without
the % - change that value to match the REBOL home folder
you created earlier, for example:
   /C/Documents and Settings/Ari/Application Data/REBOL/

You should be set now. When you start REBOL now it will
start the program in "C:\Program Files\REBOL\View" and
use your REBOL home as its working directory. If you moved
over your data to that folder it should work right away;
otherwise REBOL will download the files it needs.

Now here comes the tricky part. You may have noticed that
in under that same registry key there is another string
value named Product. That key is the marker that REBOL
uses to determine whether it is installed and current.
The problem is that this key is in absolutely the wrong
place - it should be under HKEY_LOCAL_MACHINE, as it is
a global setting, and treated as such by REBOL. It is a
global setting because REBOL associates .r files with
the REBOL executable, something that can only be done
globally, and also registers an uninstaller with the
Add/Remove Programs control panel (which can be done in
a per-user way but they don't). Since this setting is
under HKEY_CURRENT_USER every user that runs REBOL for
the first time triggers a reinstall, which then messes
up the registry settings for everyone. This key can't
be moved to the right place either, because REBOL looks
for it where it is. This is a long-standing REBOL bug.

All this means that you need to create REBOL directories
and REBOL\View registry keys for every user on the system
and for the default user as well, just to make sure that
none of the other users can mess up anyone's settings by
accident. If you are an administrator you can find the
registry settings in the subkeys of HKEY_USERS that don't
end in _Classes - just replicate the Software\REBOL\View
settings, adjusting HOME accordingly, and don't forget
Product. The default user's profile folder is the hidden
"Default User" folder in the profiles directory. Be sure
to create a REBOL folder in its "Application Data" as
well, so it will be copied to new user profiles. While
you're at it, you might as well get rid of the uninstall
reference to REBOL in the registry too - it doesn't do
much and isn't secured against use by Users. REBOL is
easy to uninstall manually anyway, except the plugin
version.

I hope this info helps. It should even be enough to aid
in the creation of a installer script if anyone is so
inclined. This method will even work on Windows 9x, but
you'll need to follow the registry key versions of the
environment variables that 9x doesn't define - ask me
for details if you need to. I'd be quite happy to rewrite
the REBOL built-in installer script if anyone would be
interested.

Good luck, Ari!

Brian Hawley

At 04:30 PM 5/2/04 +0200, Arie van Wingerden wrote:
>Hi all,
>
>when I tried to install The Gimp on Windows 2000 I found out that there is a
>clash with REBOL.
>I've set the environment variable HOME to point to the REBOL/View
>executable.
>However, The Gimp seems to take HOME as it's place to write user dependent
>info and tries to create directories and files at that place.
>
>Does anybody know whether there is an alternative name for HOME to point to
>the REBOL stuff, or to direct The Gimp elsewhere?
>
>I already tried to remove HOME temporarily, then letting The Gimp create
>it's stuff (now in an appropriate user dependent place). When I then start
>The Gimp later it works fine. However, when I reintroduce HOME, The Gimp
>gets lost again and wants to use HOME again.
>
>Met vriendelijke groet / with kind regards,
>    Arie van Wingerden
>http://home.zonnet.nl/rebolution/
>
>--
>To unsubscribe from this list, just send an email to
>[EMAIL PROTECTED] with unsubscribe as the subject.

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to