Steps to Reproduce Problem
- 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.
- 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. - After Access 2000 is installed, locate the following folder:
C:\Program Files\Microsoft Office\Office\1033
- Click the Workgroup Administrator (Wrkgadm.exe) in the folder, and create a new System.mdw file at the following location:
C:\System.mdw
- Start Access 2000.
- On the Tools menu, point to Security, and then click User and Group Accounts.
- In the User and Group Accounts dialog box, click the Change Logon Password tab.
- Give the Admin account the password
Test, and then click OK. - Quit Access 2000.
- Restart Access 2000 and open the sample database Northwind.mdb. Note that you are now prompted to log on.
- Quit Access 2000.
- Start Access 97.
- Quit Access 97.
- Start Access 2000 again.
Note that you receive the following message from the Windows Installer:Please wait while Windows configures Microsoft Access 2000.
- After Access 2000 starts, try again to open the Northwind database. Note that the database opens without asking you for a password.
- Press CTRL+G to open the Immediate window.
- In the Immediate window, type the following line, and then press ENTER:
?DBEngine.SystemDB
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.