Microsoft KB Archive/241230

= BUG: Workgroup information file is reset to default System.mdw after self-registration =

Article ID: 241230

Article Last Modified on 1/25/2007

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q241230





Moderate: Requires basic macro, coding, and interoperability skills.

This article applies only to a Microsoft Access database (.mdb).



SYMPTOMS
On a computer on which you have installed both Microsoft Access 97 and Microsoft Access 2000, you find that one or both versions of Access are using the wrong workgroup information file (default name, System.mdw). This change can cause one of the following symptoms.

NOTE: You notice these symptoms when there has been a change in security.  You are no longer prompted to log on when you open your Access databases. You are prompted to log on, but the account or password that you type does not work. You can open your databases with the usual logon name and password, but the security options for the account have changed. You see the following message:

Microsoft Access couldn't find the file '\SYSTEM.MDW'. This file is required for startup.





CAUSE
You have, at some point, defined a workgroup information file that does not have the name System.mdw, or that is not in the same location as it was when you first installed that version of Access.

<div class="resolution_section">

RESOLUTION
To resolve this problem, obtain Microsoft Office 2000 Service Release 1/1a (SR-1/SR-1a).

To obtain SR-1/SR-1a, click the article number below to view the article in the Microsoft Knowledge Base:

245025 OFF2000: How to Obtain and Install Microsoft Office 2000 Service Release 1/1a (SR-1/SR-1a)

To temporarily work around this problem, create a shortcut to Access that includes the /wrkgrp switch and path to the workgroup information file. This forces Access to always use the same workgroup information file and to ignore the registry setting. The following is an example command line that you can write in the shortcut to indicate that Access must always use the workgroup information file called C:\Secure.mdw:

"C:\Program Files\Microsoft Office\Office\Msaccess.exe" /wrkgrp "C:\Secure.mdw"

For additional information about this issue, click the article number below to view the article in the Microsoft Knowledge Base:

238258 ACC2000: Access Database Does Not Use Record-Level Locking When Started from a Windows Shortcut

<div class="status_section">

STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was corrected in Microsoft Office 2000 SR-1/SR-1a.

<div class="moreinformation_section">

Steps to Reproduce Problem
<ol> On a clean computer (a computer that has a newly installed version of Microsoft Windows, and no other applications), install Access 97. Do not install Access 97 into the default folder. Instead, install it into a folder named C:\Acc97. This is to avoid installing Access 97 and Access 2000 into the same folder. Accept all other defaults during Setup.</li> On the same computer, install Access 2000, and accept all the defaults.

IMPORTANT: During Setup of Access 2000, do not allow Setup to upgrade Access 97. This is to make sure that Access 97 remains installed.</li> After Access 2000 is installed, locate the following folder:

C:\Program Files\Microsoft Office\Office\1033

</li> Click the Workgroup Administrator (Wrkgadm.exe) in the folder, and create a new System.mdw file at the following location:

C:\System.mdw

</li> Start Access 2000.</li> On the Tools menu, point to Security, and then click User and Group Accounts.</li> In the User and Group Accounts dialog box, click the Change Logon Password tab.</li> Give the Admin account the password Test, and then click OK.</li> Quit Access 2000.</li> Restart Access 2000 and open the sample database Northwind.mdb. Note that you are now prompted to log on.</li> Quit Access 2000.</li> Start Access 97.</li> Quit Access 97.</li> Start Access 2000 again.

Note that you receive the following message from the Windows Installer:

Please wait while Windows configures Microsoft Access 2000.

</li> After Access 2000 starts, try again to open the Northwind database. Note that the database opens without asking you for a password.</li> Press CTRL+G to open the Immediate window.</li> <li>In the Immediate window, type the following line, and then press ENTER:

?DBEngine.SystemDB

</li></ol>

Note that the result of this code indicates that the System.mdw file is now back in its default location of C:\Program Files\Microsoft Office\Office\System.mdw. This is the location of the System.mdw file determined by Setup when you first installed Access 2000.

Explanation of Behavior
When you run Access 97, Access 97 reregisters itself and makes itself the current version of Access on the computer; this means that at this point, if you click on an Access database, Access 97 tries to open the database. Likewise, when you run Access 2000 after running Access 97, Access 2000 reregisters itself, and makes itself the current version. When Access 2000 reregisters, Access 2000 also rewrites the System.mdw location to the Windows registry. The location written to the registry is always the location determined when Access was first installed on the computer. If Access 97 does not find the System.mdw file location there, Access 97 displays a message that the System.mdw file could not be found. If Access 2000 does not find the System.mdw file location there, Access 2000 starts the repair process to create a default System.mdw file with no security defined.

The following is an example of the registry keys that are rewritten when Access self-registers.

Access 97:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0\Access\Jet\3.5\Engines

Name = SystemDB

Data = <path of Windows\System folder>\System.mdw

Access 2000:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Access\Jet\4.0\Engines

Name = SystemDB

Data = <path you defined during Setup>\System.mdw

NOTE: You do not notice this problem on a computer running both Access 97 and Access 95 because Access 95 does not reregister and make itself the current version of Access. In this configuration, Access 97 is always the current version of Access.

<div class="references_section">