Exception throw : Unable to find HKLM_GrooveRegKey


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 ( 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


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";
                        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