Microsoft KB Archive/248112

From BetaArchive Wiki
Knowledge Base


You receive a "The current user account doesn't have permission to convert or enable this database" error message in an Access 97 run-time application after you upgrade to Access 2000

Article ID: 248112

Article Last Modified on 11/17/2004



APPLIES TO

  • Microsoft Office 97 Developer Edition
  • Microsoft Access 2000 Standard Edition



This article was previously published under Q248112

Advanced: Requires expert coding, interoperability, and multiuser skills.

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


SYMPTOMS

When you upgrade a computer from Microsoft Access 97 to Microsoft Access 2000, and an Access 97 run-time application is subsequently installed, you may receive the following error message:

The current user account doesn't have permission to convert or enable this database.

CAUSE

You have installed your Access 97 run-time application on a computer that was previously upgraded from Access 97 to Access 2000.

When an Access 97 run-time application is installed on a computer, the setup program tries to determine if a copy of Access 97 is already installed on the computer by looking for the following registry key:

   HKEY_LOCAL_MACHINE\ 
      Software\ 
         Microsoft\ 
            Office\ 
               8.0\ 
                  Common\ 
                     InstallRoot\ 
                        OfficeBin
                

This key contains the path to the installed copy of Access 97. If the Setup program finds this key, it does not install the Access 97 copy of Msaccess.exe, but instead uses the existing copy.

When a computer is upgraded from Access 97 to Access 2000, the OfficeBin key is not removed and the Access 2000 version of Msaccess.exe is copied to the location where Access 97 was previously installed. This leaves the OfficeBin key pointing to the Access 2000 version of Msaccess.exe. Because of this, upgrading from Access 97 to Access 2000, and then installing an Access 97 run-time application, results in the run-time pointing to the Access 2000 version of the executable.

RESOLUTION

To workaround this behavior, you must modify the Setup.stf file that is produced by the ODE Setup Wizard. This allows any future installations that you perform by using this Setup.stf file to include the Access 97 executable and supporting files.

WARNING: Modifications to an STF file should be made by using a backup copy of the file. As a general rule, modifications to an STF file are not recommended by Microsoft. However, this is currently the best workaround for this issue.

You can open and edit the Setup.stf file in Notepad. If you edit the file with Microsoft Excel, you may see error messages. The following steps show you how to change the STF file:

  1. In Notepad or another text editor, open the Setup.stf file that was created by the ODE Setup Wizard.
  2. Locate the line where:

    ObjID is 65
    Type is CustomAction
    and Data is "msacccah.dll,GetPathFromReg,""HKEY_LOCAL_MACHINE,Software\Microsoft\Office\8.0\Common\InstallRoot,OfficeBin"""

    Change the word "InstallRoot" to "InstallAccessRT", as follows:

    "msacccah.dll,GetPathFromReg,""HKEY_LOCAL_MACHINE,Software\Microsoft\Office\8.0\Common\InstallAccessRT,OfficeBin"""

    NOTE: This line searches for the Office folder. If you change the key, it should not find anything unless you have installed a run-time application by using this technique already. Although InstallAccessRT can be virtually any name that you want to use, ensure that the name is the same in both steps 2 and 3.
  3. Locate the line where:

    ObjID = 85
    Type = AddRegData
    and Data = """LOCAL"",""Software\Microsoft\Office\8.0\Common\InstallRoot"",""OfficeBin"",""%70"","""""

    Change the word "InstallRoot" to "InstallAccessRT" (the same word that you used in step 2), as follows:

    85"""LOCAL"",""Software\Microsoft\Office\8.0\Common\InstallAccessRT"" ,""OfficeBin"",""%70"","""""

  4. Locate the line where:

    ObjID = 320
    Type = InstallShared
    and Data = "Access Runtime Files,msaccess_exe,MSACCESS80,Office,1325 "

    NOTE: This line writes a key to the registry under HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools

    Change the word "MSACCESS80" to "MSACCESS80RT", as follows:

    "Access Runtime Files,msaccess_exe,MSACCESS80RT,Office,1325 "

  5. Save and close the Setup.stf file.

For Systems That Already Have This Issue

If you have already installed your Access 97 run-time application on a computer and it now has the symptoms described in the "Symptoms" section, you should first remove the Access 97 run-time application, and then reinstall it with the modified Setup.stf file. To remove the application, follow these steps.

NOTE: The following steps will remove the Access 97 run-time installation including the Access database. If you want to preserve the database, make a copy of it, and save it to another folder for safe keeping.

NOTE: Because there are several versions of Microsoft Windows, the following steps may be different on your computer. If they are, see your product documentation to complete these steps.

  1. Click Start, point to Settings, and then click Control Panel.
  2. Click Add/Remove Programs.
  3. In the Add/Remove Programs dialog box, click the name of the Access 97 run-time application, and then click Add/Remove. The application's Setup program starts.
  4. Click Remove All.

You are now ready to install the Access 97 run-time application with the modified Setup.stf file.

MORE INFORMATION

There are two issues you may notice after applying the workaround in this article.

For additional information about the first issue you may encounter by using this resolution, click the article number below to view the article in the Microsoft Knowledge Base:

183143 ODE97: Run-Time Application Changes Windows File Associations


Because of an entry in the registry, the Access 97 run-time application becomes associated with files that have an extension of .mdb, meaning that if you click any Access database, the run-time application attempts to run. You can resolve this by using the REGSERVER command line switch to properly register the full version of Microsoft Access.

For instance, to make the full version of Access 97 the registered version that opens .mdb files, use the following technique.

  1. Click Start, and then click Run.
  2. Type the following command line:

    C:\Program Files\Microsoft Office\Office\MSACCESS.EXE /regserver

To make Access 2000 the properly registered version for .mdb files, start Access 2000. Every time that you start Microsoft Access 2000, the automatic registration feature registers Msaccess.exe, the supporting Microsoft Access .dll files, the wizards, and the file associations of .mdb and .mda files.

Another issue you may notice after installing the run-time application with the modified Setup.stf file is that if you try installing Office 2000, the Setup options of either Upgrade or Customize have the default installation location of C:\Program Files\Microsoft Office\. This is different from the expected path that is used when installing Office 2000 on a computer with an existing Access 97 run-time application. With an unmodified Access 97 run-time application, the Office 2000 installation program recognizes the run-time application and installs it to a default path of C:\Program Files\Office2K\.

REFERENCES

For additional information on a similar issue that involves installing Access 2000 over an existing Access 97 run-time application, click the article number below to view the article in the Microsoft Knowledge Base:

248913 ODE97: Convert or Enable Message when Opening Access 97 Runtime Application After Installing Office 2000



Additional query words: pra wrong version exe acc97 run time the current user account doesn t have permission to convert or enable this database

Keywords: kberrmsg kbprb KB248112