Click here to Skip to main content
Click here to Skip to main content

Programmatically check Access Database Engine for MS Office (2007 or 2010) installed on a client system

By , 14 Mar 2013
 

Introduction

This tip gives C# code to determine the installation of the Access database engine in a client system.

Background 

But after I uninstall Access database engine the file ACECORE.DLL for Office 2010 is still in the same path, thus my purpose is failed. After some investigation on my system I found the piece of code shown below which would help in determining the installation of the "Access Database Engine".

This piece of code will be helpful for those who have just started in C#, like me :-)

Using the code

string AccessDBAsValue = string.Empty;
RegistryKey rkACDBKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Classes\Installer\Products");
if (rkACDBKey != null)
{ 
    //int lnSubKeyCount = 0;
    //lnSubKeyCount =rkACDBKey.SubKeyCount; 
    foreach(string subKeyName in rkACDBKey.GetSubKeyNames())
    {
        using (RegistryKey RegSubKey = rkACDBKey.OpenSubKey(subKeyName))
        {
            foreach (string valueName in RegSubKey.GetValueNames())
            {
                if (valueName.ToUpper() == "PRODUCTNAME")
                {
                    AccessDBAsValue = (string)RegSubKey.GetValue(valueName.ToUpper());
                    if (AccessDBAsValue.Contains("Access database engine"))
                    {
                        llretval = true;
                        break;
                    }
                }
            }
        }
        if (llretval)
        {
            break;
        }
    }

Points to Note

Please note that if the Access Database Engine is installed on an XP 32 bit system, the value will be "Microsoft Office Access database engine 2007" in the Registry key. For Office 2010 on a Win7 32 bit system it will be "Microsoft Access database engine 2010" [I did not yet try other versions], so there is a little difference in these values.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

tbalajir
India India
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130516.1 | Last Updated 14 Mar 2013
Article Copyright 2012 by tbalajir
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid