- fixes, loading of settings per user
- autodetecting of windows registry version

diff --git a/files/directory.c b/files/directory.c
index 220a811..7018d52 100644
--- a/files/directory.c
+++ b/files/directory.c
@@ -66,7 +66,7 @@
 int DIR_Init(void)
 {
     char path[MAX_PATHNAME_LEN];
-    DOS_FULL_NAME tmp_dir;
+    DOS_FULL_NAME tmp_dir, profile_dir;
     int drive;
     const char *cwd;
 
@@ -141,6 +141,15 @@
     TRACE("Cwd        = %c:\\%s\n",
           'A' + drive, DRIVE_GetDosCwd( drive ) );
 
+    if (DIR_GetPath( "profile", "", &profile_dir ))
+    {
+        TRACE("USERPROFILE= %s\n", profile_dir.short_name );
+        SetEnvironmentVariableA( "USERPROFILE", profile_dir.short_name );
+    }	
+
+    TRACE("SYSTEMROOT = %s\n", DIR_Windows.short_name );
+    SetEnvironmentVariableA( "SYSTEMROOT", DIR_Windows.short_name );
+
     return 1;
 }