1
Vote

Exception throw : Unable to find HKLM_GrooveRegKey

description

I've just download the "GrooveWebServicesV12HelpersProjects_Binaries.zip" archive from the "Release 8".
I've launched "GrooveWebServicesv12HelpersTestHarness.exe" and it throw a "Unable to find HKLM_GrooveRegKey" (see the attachement file).
 
  • Windows Vista 64Bits build 6.0.6000
  • Microsoft Office Professional 2007 SP1 installed
  • Microsoft Office Groove 2007 installed (4.2.0.2623) SP1 MSO (12.0.6213.1000)
     
    I've checked your source and see that you read the HKLM\Software\Microsoft\Office\12.0\Groove key, but there's nothing there in my registry.
    (Line 199 of context.cs) :
    // Look for Groove 12 client registry key first
    Microsoft.Win32.RegistryKey HKLM_GrooveRegKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(GrooveWebServicesV12Helpers.Shared.GROOVE_12_REG_KEY);
     
    Is there a workaround or a fix ?

file attachments

comments

rebelzoo wrote Apr 22, 2009 at 3:38 PM

I had this same problem with Vista 64. It seems to be failing in determining the version of Groove. Since I am just using this for myself, and always with Groove 2007, I just changed the code to assume 12.0 on this failure. I am sure there is a better way, but this worked for my needs. Hope this helps:
                    HKLM_GrooveRegKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(GrooveWebServicesV12Helpers.Shared.GROOVE_REG_KEY);

                    if (HKLM_GrooveRegKey == null)
                    {
                        //throw new System.Exception("Unable to locate registry key HKLM_GrooveRegKey!");
                        // on failure Assume 12.0
                        CurrentVersion = "12.0";
                    }
                    else
                        CurrentVersion = (string)HKLM_GrooveRegKey.GetValue(GrooveWebServicesV12Helpers.Shared.GROOVE_CURRENT_VERSION_REG_KEY_NAME);

jchristman3 wrote Aug 14, 2010 at 2:34 AM

I fixed this by pairing the Versions with the keys higher in code, and removing the code you are looking at:
                //  Look for Groove 14 client registry key first
                Microsoft.Win32.RegistryKey HKCU_GrooveWebServicesRegKey = i_RealHKCU.OpenSubKey(GrooveWebServicesV12Helpers.Shared.GROOVE_14_WEB_SERVICES_REG_KEY);
                if (HKCU_GrooveWebServicesRegKey != null)
                {
                    CurrentVersion = "14.0";
                }
                else //  Look for Groove 12 client registry key second
                {
                    HKCU_GrooveWebServicesRegKey = i_RealHKCU.OpenSubKey(GrooveWebServicesV12Helpers.Shared.GROOVE_12_WEB_SERVICES_REG_KEY);
                    if (HKCU_GrooveWebServicesRegKey != null)
                        CurrentVersion = "12.0";
                }

wrote Feb 1, 2013 at 11:31 PM