Solved

XP Restricted User and Access System.mdw Error

Posted on 2006-07-17
11
1,000 Views
Last Modified: 2012-06-27
I am currently setting up some client PCs for my office.  All the users are set up as a restricted user within XP.  I have Access 97 on the machine to access some databases that were created years ago.  The restricted user can open Database1 with no problems.  However, with Database1 open, when they try to also open Database2 at the same time, they receive the following error: "Couldn't use c:\windows\system32\system.mdw, file already in use."  However, if I change the XP user permissions to set them up as an Administrator, they can open both databases at the same time with no problem.

Any thoughts on how I can keep them as a restricted user within XP and still allow them to open two databases at the same time?

Thanks,

Chris
0
Comment
Question by:csimmons1324
  • 3
  • 3
  • 3
  • +1
11 Comments
 
LVL 77

Accepted Solution

by:
peter57r earned 500 total points
ID: 17124586
Hi csimmons1324,

Users must have full permissions on the folder(s) containing the mdb and mdw files.
There is no way round this requirement.

Pete
0
 
LVL 84
ID: 17125504
Pete is, of course, correct. You can add a new group and give that group permission to read/write/create/delete on the Folder housing the database ... you can also have them disable Delete rights on the .mdb file (NOT the folder - they must be able to delete the .ldb file as needed) so that users cannot delete the file (if that's their concern). Then add any user who needs to access the folder to this new group and they should be able to open both.

Odd, however - if users had no rights on the folder at all, they wouldn't be able to open the first db, I'd think ...

0
 
LVL 13

Expert Comment

by:John Mc Hale
ID: 17126955
Also consider moving the System.mdw file to a folder that you are prepared to grant such rights to:

For example, you could create a subfolder MyApp under Program Files, move the system.mdw file there, and grant inheritable access rights as suggested to this folder, subfolders, and/or files etc.
0
 

Author Comment

by:csimmons1324
ID: 17130037
If I go into the security tab of the properties for the system32 folder and and add the user (ex. Alice\DomainName) and giving her full control of the system32 folder, everything works fine.  Even when she is set as a restricted user within XP user settings.  

Do you guys see any major risks in setting up the machine this way?

Fredthered,

I am not sure if I can move the .mdw from the system32 folder.  I renamed the file and tried to launch Access and got an error.  It is looking for the .mdw file specifically in the system32 folder.  I don't think that I can easily tell Access to look somewhere else for the file.

Thanks,

Chris
0
 
LVL 77

Expert Comment

by:peter57r
ID: 17130198
You can put the mdw file wherever you like.

The startup shortcut specifies where to look:

"pathtomasaccess/msaccess.exe" "pathtodatabase/database.mdb" /wrkgrp "pathtomdwfile/security.mdw"

If you have used system.mdw for the workgroup file then move it to a 'safe' folder and rename it to something else (do not use the database name).
Check that your application starts ok with the new workgroup file and take a backup of it.

Then delete system.mdw.  Access will re-create a default system.mdw next time you start Access on its own.
0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

Author Comment

by:csimmons1324
ID: 17130344
peter57r,

I was somewhat able to follow along with your suggestion.  While, I wasn't able to follow along exactly, I believe that with your help I was able to come up with a solution.  Here is what I did:

1. Created a folder on C: named "Access Workgroup."
2. Gave the user full permissions for the "Access Workgroup" folder.
3. Copied the original system.mdw file from the system32 folder and placed it in the Access Workgroup folder.
4. Renamed the system.mdw file in the system32 to system_orig.mdw.
5. Went to "Start" - "MS Office 97" - "Workgroup Administrator" and selected the "Join" button and browsed to the system.mdw file in the Access Workgroup folder.

Everything appears to be working fine.  What exactly is the purpose of the system.mdw file?  If you see any problems with the way that I set this up, let me know.

Thanks,

Chris
0
 
LVL 84
ID: 17130997
All users should use the same workgroup file ... the suggestions by Pete and others are correct - move your workgroup file to a publicly accessibly location, then build shortcuts on the enduser desktop to "point" to that location.

Your #5 in the post above simply joined THAT machine to the workgroup file - it won't join other users to that workgroup file. Instead, using the shortcut as suggested by others will join users to the correct workgroup file for a specific session of Access. You really should leave your default workgroup file as the system.mdw file ...

The system.mdw file is a workgroup file. Access is always run with a workgroup file, even right out of the box. All users login as Admin with full rights on the database and all objects in the database. All instances of system.mdw for a particular version of Access (and in many case, even across versions) are identical, which is why I can build a db on my machine (using the default system.mdw file), ship it to you, and you can run it on your machine.

When you implement security correctly, you basically create your own workgroup file (you can name it anything you want - perhaps chris.mdw), add users and groups to that workgroup file, then (a) open Access with THAT file and (b) configure the users correctly and then (c) build or import your database while logged in as the correct user. After this you grant permissions and such. This is a MUCH simplified version, of course, but basically that's what happens.
0
 

Author Comment

by:csimmons1324
ID: 17133550
Sorry for all the noob questions but this is my first go around with this.  Many of our Access Databases were created years ago and not by me.  I don't believe that an .mdw file was created for each of these databases, so I am assuming that no security measures were put into place within the databases themselves (they reside on a network share that only certain people have access to).  From what I have gathered from reading through these posts is that the system32/system.mdw file was used for all of our databases that were created.

Now I have a few more questions:

1. Do I need to create a copy of the system32/system.mdw file and move it to a 'safe' folder (as suggested  by peter57r) for each one of our databases?  Or, can I just have all the shortcuts to the databases point to the same 'safe' .mdw file?

2. As LSMConsulting stated, I should leave my default workgroup file as the system.mdw file.  Well, if all the databases  originally used the system32/system.mdw file, why couldn't I just copy that file to a folder on the users PC were I grant them full access and join Access to that .mdw file insted?

Thanks for all the help!

Chris
0
 
LVL 77

Expert Comment

by:peter57r
ID: 17136958
If you use Workgroup Administartor to join a user to a workgroup then that user is permanently joined to that workgroup for all Access usage.
This means that if security has been implemented, then even when the user opens a non-secured database they will still be prompted for username and password.  And the same applies if they were going to create a new database.

If you are happy with this situation then you can do what you suggest with one proviso.  You should change the name of the 'secured' system.mdw to something else so that you know what it is and so that nobody will think that they can copy any system.mdw  into that folder and expect things to work normally.
If you leave it as system.mdw then sure as eggs is eggs you/someone will overwrite it with a default system.mdw.

Pete
0
 
LVL 84
ID: 17137253
You're probably right in that all your databases were created by using the system.mdw file. It's by far the most common methods.

You can use the same .mdw file for all databases, if you wish, but as described earlier all your users will require read/write/create/destroy perms on that folder, so I doubt you'd want to do that for the server's System32 folder. Most people drop the .mdw file into the same folder as the backend, since that folder must also have the same rights.

You can copy the system.mdw to each users pc, but that's a maintenance nightmare ... everytime you alter permissions or add objects you'd need to revisit each one of the users machines and copy a new mdw file there. Much better to have everything centralized (and you're already granting the permissions to the backend folder - just drop the mdw file there)
0
 
LVL 13

Expert Comment

by:John Mc Hale
ID: 17142988
I can definitely concur with LSMConsultings assertion that having a copy of anything but the bog standard System.mdw on multiple client PCs is nothing short of an administrative catastrophe ... and I say this from personal experience in my earlier days of exploring M$ Access. It is so easy to change permissions on one copy of the workgroup file, and forget to distribute the updated MDW to other interested parties. After a few sleepless nights, having gotten call outs from customers attempting to log on to a shared application over a WAN, but being unable to do so because of a permissions issue, I soon became rather expert of figuring out how I could reduce the administrative overhead of any future apps, such as placing shared access files in shared folders etc. I makes sense.

Further, LSMConsulting rightly points out that the workgroup file would be most suitably placed in the same folder as the database file, as the folder is likely to have all the required permissions to permit the required access of the MDW file.

Regards.
0

Featured Post

Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

Join & Write a Comment

Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now