<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>GWSV12Helpers Forum Rss Feed</title><link>http://www.codeplex.com/GWSV12Helpers/Project/ListForums.aspx</link><description>GWSV12Helpers Forum Rss Description</description><item><title>New Post: Update for Groove 14 (2010)?</title><link>http://gwsv12helpers.codeplex.com/Thread/View.aspx?ThreadId=223545</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;&lt;strong&gt;Is there any plans to update this awesome project for Groove 2010?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I updated the source code, on my end, just enough to make my projects work..&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I added the updated Reg keys for 14:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#008000"&gt;//&amp;nbsp; Keys for Groove 14 client use&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public const string GROOVE_14_REG_KEY = &lt;span style="color:#800000"&gt;@&amp;quot;Software\Microsoft\Office\Groove&amp;quot;&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public const string GROOVE_14_WEB_SERVICES_REG_KEY = GROOVE_14_REG_KEY + &lt;span style="color:#800000"&gt;@&amp;quot;\WebServices&amp;quot;&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public const string GROOVE_14_WEB_SERVICES_HELPERS_REG_KEY = GROOVE_14_REG_KEY + &lt;span style="color:#800000"&gt;@&amp;quot;\WebServicesHelpers&amp;quot;&lt;/span&gt;;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#008000"&gt;//&amp;nbsp; Keys for Groove 14 server use&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public const string GROOVE_14_SERVER_REG_KEY = &lt;span style="color:#800000"&gt;@&amp;quot;Software\Microsoft\Office Server\Groove&amp;quot;&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public const string GROOVE_14_SERVER_WEB_SERVICES_REG_KEY = GROOVE_14_SERVER_REG_KEY + &lt;span style="color:#800000"&gt;@&amp;quot;\WebServices&amp;quot;&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public const string GROOVE_14_SERVER_WEB_SERVICES_HELPERS_REG_KEY = GROOVE_14_SERVER_REG_KEY + &lt;span style="color:#800000"&gt;@&amp;quot;\WebServicesHelpers&amp;quot;&lt;/span&gt;;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:#000000"&gt;And checked for them prior to the v12 keys (I neglected to check the server keys as we are not using them, but I assume the updated version will cover that base):&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#008000"&gt;//&amp;nbsp; Look for Groove 14 client registry key first&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HKCU_GrooveRegKey = i_RealHKCU.OpenSubKey(GrooveWebServicesV12Helpers.Shared.GROOVE_14_REG_KEY);&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#008000"&gt; //&amp;nbsp; Look for Groove 14 client registry key first&amp;nbsp; -- I also moved the version here, as I had problems with it before.&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft.Win32.RegistryKey HKCU_GrooveWebServicesRegKey = i_RealHKCU.OpenSubKey(GrooveWebServicesV12Helpers.Shared.GROOVE_14_WEB_SERVICES_REG_KEY);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (HKCU_GrooveWebServicesRegKey != &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentVersion = &lt;span style="color:#800000"&gt;&amp;quot;14.0&amp;quot;&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;span style="color:#008000"&gt; //&amp;nbsp; Look for Groove 12 client registry key second&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HKCU_GrooveWebServicesRegKey = i_RealHKCU.OpenSubKey(GrooveWebServicesV12Helpers.Shared.GROOVE_12_WEB_SERVICES_REG_KEY);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (HKCU_GrooveWebServicesRegKey != &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentVersion = &lt;span style="color:#800000"&gt;&amp;quot;12.0&amp;quot;&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_Groove14 = (grooveCurrentInstalledVersion.CompareTo(&lt;span style="color:#0000ff"&gt;new&lt;/span&gt; System.Version(&lt;span style="color:#800000"&gt;&amp;quot;14.0&amp;quot;&lt;/span&gt;)) &amp;gt;= 0);&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I also needed to update the way it accesses the Request and Responce Keys.&amp;nbsp; The new keys are apparently encrypted:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /// Returns the secret request key.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public string RequestKey&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_IsLocal)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object regValue = m_HKCU_GrooveWebServicesRegKey.GetValue(GrooveWebServicesV12Helpers.Shared.GROOVE_WEB_SERVICES_LOCAL_REQUEST_KEY);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (regValue == null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&amp;quot;Unable to retrieve Request Key from registry.&amp;quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(m_Groove14)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] unprotectedData = System.Security.Cryptography.ProtectedData.Unprotect((byte[])regValue, null,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Security.Cryptography.DataProtectionScope.CurrentUser);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_RequestKey = System.Text.Encoding.Unicode.GetString(unprotectedData);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_RequestKey = (string)regValue;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return m_RequestKey;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /// Returns the local response key, used for validating that a response originated from the local Groove executable.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public string LocalResponseKey&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_IsLocal)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object regValue = m_HKCU_GrooveWebServicesRegKey.GetValue(GrooveWebServicesV12Helpers.Shared.GROOVE_WEB_SERVICES_LOCAL_RESPONSE_KEY);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (regValue == null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&amp;quot;Unable to retrieve ResponseKey Key from registry.&amp;quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(m_Groove14)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] unprotectedData = System.Security.Cryptography.ProtectedData.Unprotect((byte[])regValue, null,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Security.Cryptography.DataProtectionScope.CurrentUser);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_LocalResponseKey = System.Text.Encoding.Unicode.GetString(unprotectedData);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_LocalResponseKey = (string)regValue;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return m_LocalResponseKey;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My dll is working for me again, which is important, because I rely on it to automate the transfer of files to our Workspaces, based on auto builds.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thanks for any status updates...&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><author>jchristman3</author><pubDate>Sat, 14 Aug 2010 01:28:37 GMT</pubDate><guid isPermaLink="false">New Post: Update for Groove 14 (2010)? 20100814012837A</guid></item><item><title>New Post: GrooveCalendarDeleteEventData returns empty string array</title><link>http://gwsv12helpers.codeplex.com/Thread/View.aspx?ThreadId=15654</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Have you made any progress on this bug?&amp;nbsp; I am having the same issue here.&amp;nbsp; I don't want to have to enumerate all the Calendar Items to find the one that is missing.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;/div&gt;</description><author>jchristman</author><pubDate>Sun, 29 Nov 2009 18:18:59 GMT</pubDate><guid isPermaLink="false">New Post: GrooveCalendarDeleteEventData returns empty string array 20091129061859P</guid></item><item><title>New Post: Importing key file "GrooveWebServicesV12Helpers.pfx" </title><link>http://gwsv12helpers.codeplex.com/Thread/View.aspx?ThreadId=56938</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;requires a password before these helpers can be used. Am I missing something here?&lt;/p&gt;&lt;/div&gt;</description><author>ushinde</author><pubDate>Wed, 20 May 2009 15:57:42 GMT</pubDate><guid isPermaLink="false">New Post: Importing key file "GrooveWebServicesV12Helpers.pfx"  20090520035742P</guid></item><item><title>New Post: How to embed "Link to Groove Workspace Item" via GrooveMessages</title><link>http://gwsv12helpers.codeplex.com/Thread/View.aspx?ThreadId=56140</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Have been looking through the web service helpers and online documentation and am having trouble finding something. In the UI, you can create links to individual workspaces, tools, or files. I can extract the information that I need to make a link work, but I cannot find a way to create a groove hyperlink in a Groove message via the GrooveMessage web services.&amp;nbsp;Is there a way? Has that already been loaded into the Helpers project and I just missed it?&lt;/p&gt;
&lt;p&gt;For example, I can extract the grooveTelespace://zzzz... information and when I manually paste that into&amp;nbsp;message from the&amp;nbsp;Groove Data Bridge&amp;nbsp;via the Insert&amp;nbsp;Hyperlink dialog box, the receipient gets an&amp;nbsp;clickable link.&amp;nbsp;When I pass that via a Message.Body field, I get just raw text. Is there a formatting trick to get the information presented as a clickable link?&lt;/p&gt;&lt;/div&gt;</description><author>mattdamp</author><pubDate>Wed, 13 May 2009 06:07:09 GMT</pubDate><guid isPermaLink="false">New Post: How to embed "Link to Groove Workspace Item" via GrooveMessages 20090513060709A</guid></item><item><title>New Post: Groove-Import files in Issue Tacking tool using dotnet</title><link>http://gwsv12helpers.codeplex.com/Thread/View.aspx?ThreadId=49958</link><description>&lt;div style="line-height: normal;"&gt;Hi Vibhuti &lt;br&gt;
&lt;br&gt;
The stuff from groove.net is seriously out of date. You can access the issues tracker tool since it is based on Groove Forms.&lt;br&gt;
&lt;br&gt;
If you want to write code, your choices are:&lt;br&gt;
&lt;br&gt;
1: Download and work with the sample stuff here: http://msdn.microsoft.com/en-us/library/bb403118.aspx&lt;br&gt;
2: Download the wrapper files here. There's some documentation, too. &lt;br&gt;
&lt;br&gt;
You can also contact me about other options.&lt;br&gt;
&lt;br&gt;
\mark&lt;br&gt;
&lt;/div&gt;</description><author>hyperoceanic</author><pubDate>Thu, 12 Mar 2009 12:46:32 GMT</pubDate><guid isPermaLink="false">New Post: Groove-Import files in Issue Tacking tool using dotnet 20090312124632P</guid></item><item><title>New Post: Groove-Import files in Issue Tacking tool using dotnet</title><link>http://gwsv12helpers.codeplex.com/Thread/View.aspx?ThreadId=49958</link><description>&lt;div style="line-height: normal;"&gt;hello,&lt;br&gt;
I have to develop a dot net application which can import a files in Issue Tracking Tool of Groove.&lt;br&gt;
I have downloaded Groove Web Services Development Kit from below link.&lt;br&gt;
http://www.groove.net/solutions/dev&lt;wbr&gt;elop/downloads.cfm and I have seen that there is no API available for importing a file in Issue Tracking tool .&lt;br&gt;
So will it be possible to develop a dot net application which can import a files in Issue Tracking Tool of Groove?&lt;br&gt;
Thanks In Advance !&lt;br&gt;
&lt;br&gt;
Reagrds,&lt;br&gt;
Vibhuti 
&lt;/div&gt;</description><author>vibhutipatel</author><pubDate>Thu, 12 Mar 2009 06:58:51 GMT</pubDate><guid isPermaLink="false">New Post: Groove-Import files in Issue Tacking tool using dotnet 20090312065851A</guid></item><item><title>New Post: login without groove execution</title><link>http://www.codeplex.com/GWSV12Helpers/Thread/View.aspx?ThreadId=32262</link><description>&lt;div style="line-height: normal;"&gt;is this possible?&lt;br&gt;
&lt;br&gt;
Most of &amp;nbsp;groove sample sources&amp;nbsp; play while groove's status&amp;nbsp;is &amp;nbsp;login or execution.&lt;br&gt;
&lt;br&gt;
But I want to make some other application with groove's tools&amp;nbsp;or functionalities&amp;nbsp;like add-on.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;I coudn't find reference about login process without groove's execution.&lt;br&gt;
&lt;br&gt;
If it is possible,&amp;nbsp;answer me please about reference or code or yes/no.&lt;br&gt;
&lt;br&gt;
thx you&amp;nbsp;.&amp;nbsp; have&amp;nbsp;good days&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
&amp;nbsp;&lt;br&gt;
&lt;/div&gt;</description><author>voicerow</author><pubDate>Fri, 25 Jul 2008 07:08:28 GMT</pubDate><guid isPermaLink="false">New Post: login without groove execution 20080725070828A</guid></item><item><title>NEW POST: Download Groove document by ID</title><link>http://www.codeplex.com/GWSV12Helpers/Thread/View.aspx?ThreadId=24821</link><description>&lt;div class="wikidoc"&gt;
I have FileUpdated event handler with following proto:&lt;br /&gt;private void filesTool&lt;i&gt;OnFileUpdatedEvent(File i&lt;/i&gt;File);&lt;br /&gt; &lt;br /&gt;Updated file ID (i_File.ID) queued for further use.&lt;br /&gt; &lt;br /&gt;How can I download file by file ID?&lt;br /&gt;If I can't do that only with ID, what additional data I should use for this?&lt;br /&gt; &lt;br /&gt;Thanks!&lt;br /&gt;
&lt;/div&gt;</description><author>vkle</author><pubDate>Thu, 27 Mar 2008 11:25:30 GMT</pubDate><guid isPermaLink="false">NEW POST: Download Groove document by ID 20080327112530A</guid></item><item><title>NEW POST: GrooveCalendarDeleteEventData returns empty string array</title><link>http://www.codeplex.com/GWSV12Helpers/Thread/View.aspx?ThreadId=15654</link><description>&lt;div class="wikidoc"&gt;
I have Groove calendar and outlook calendar synchronization working using GrooveHelper framework. I can create and update calendar entries in Groove and they show up in Outlook. My only problem is with Deletion of the calendar. The code below, detects the delete event and then gets the ID's of the calendar events, however I get a string array which is empty. &lt;br /&gt;GrooveWebServicesV12Helpers.Shared.GROOVE&lt;i&gt;CALENDAR&lt;/i&gt;DELETE&lt;i&gt;EVENT&lt;/i&gt;TYPE:&lt;br /&gt;                    try&lt;br /&gt;                    {&lt;br /&gt;                        GrooveWebServicesV12Helpers.GrooveEventsWebService.GrooveCalendarDeleteEventData calData = i_Event.EventData as GrooveWebServicesV12Helpers.GrooveEventsWebService.GrooveCalendarDeleteEventData;&lt;br /&gt;                        ProcessDelCalendarEntries(calData.CalendarIDs);&lt;br /&gt;                    }&lt;br /&gt; &lt;br /&gt;Any ideas or thoughts on how to solve this issue. &lt;br /&gt; &lt;br /&gt;Thanks&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>kaushas</author><pubDate>Wed, 26 Sep 2007 15:39:06 GMT</pubDate><guid isPermaLink="false">NEW POST: GrooveCalendarDeleteEventData returns empty string array 20070926033906P</guid></item><item><title>NEW POST: help to downlod</title><link>http://www.codeplex.com/GWSV12Helpers/Thread/View.aspx?ThreadId=15122</link><description>&lt;div class="wikidoc"&gt;
hi guys&lt;br /&gt;pleses a can't downlod GrooveWebServicesV12Helpers&lt;i&gt;Sources.zip  - GrooveWebServicesV12HelpersProjects&lt;/i&gt;Sources.zip - gooveWebServicesV12HelpersProjects_Binaries.zip .&lt;br /&gt; &lt;br /&gt;thx  a lot&lt;br /&gt;
&lt;/div&gt;</description><author>djawad</author><pubDate>Fri, 14 Sep 2007 02:11:41 GMT</pubDate><guid isPermaLink="false">NEW POST: help to downlod 20070914021141A</guid></item><item><title>NEW POST: Parameter file for use with the command line utils</title><link>http://www.codeplex.com/GWSV12Helpers/Thread/View.aspx?ThreadId=13570</link><description>&lt;div class="wikidoc"&gt;
Use a configuration file containing the Host, RequestKey, Account and Identity parameters to facilitate using the command line utilities with Groove Data Bridge.&lt;br /&gt;The file should contain a parameter list formatted as follows:&lt;br /&gt;&amp;lt;Parameters&amp;gt;&lt;br /&gt;	&amp;lt;Parameter Name=&amp;quot;Account&amp;quot; Value=&amp;quot;foo&amp;quot; /&amp;gt;&lt;br /&gt;	&amp;lt;Parameter Name=&amp;quot;Identity&amp;quot; Value=&amp;quot;foo_id&amp;quot; /&amp;gt;&lt;br /&gt;	&amp;lt;Parameter Name=&amp;quot;Host&amp;quot; Value=&amp;quot;HTTP://bar:9080&amp;quot; /&amp;gt;&lt;br /&gt;	&amp;lt;Parameter Name=&amp;quot;RequestKey&amp;quot; Value=&amp;quot;foo-bar&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;/Parameters&amp;gt;&lt;br /&gt;
&lt;/div&gt;</description><author>jessehoward</author><pubDate>Wed, 08 Aug 2007 19:33:13 GMT</pubDate><guid isPermaLink="false">NEW POST: Parameter file for use with the command line utils 20070808073313P</guid></item><item><title>Release 2 beta now available: </title><link>http://www.codeplex.com/GWSV12Helpers/Thread/View.aspx?ThreadId=7421</link><description>http://www.codeplex.com/GWSV12Helpers/Release/ProjectReleases.aspx?ReleaseId=1943
</description><author>psuthar</author><pubDate>Mon, 19 Feb 2007 22:34:23 GMT</pubDate><guid isPermaLink="false">Release 2 beta now available:  20070219103423P</guid></item><item><title>Developer Forum: Copied to Work Item</title><link>http://www.codeplex.com/GWSV12Helpers/Project/DisplayThread.aspx?ForumId=2982&amp;ThreadId=3177&amp;ANCHOR#LastPost</link><description>This discussion has been copied to Work Item 6864. You may wish to continue further discussion there.</description><author>jessehoward</author><pubDate>Thu, 28 Dec 2006 22:11:42 GMT</pubDate><guid isPermaLink="false">Developer Forum: Copied to Work Item 20061228101142P</guid></item><item><title>Developer Forum: Context constructor</title><link>http://www.codeplex.com/GWSV12Helpers/Project/DisplayThread.aspx?ForumId=2982&amp;ThreadId=3177&amp;ANCHOR#LastPost</link><description>the constructor for a Context object seems to assume that there is ALWAYS a reg key at HKLM_Software\Microsoft\Office\Groove, which is not the case.  This occurs in the validation of the current version.  Until the code is fixed, the workaround is to create this key, with a string value beneath it called "CurVer".</description><author>jessehoward</author><pubDate>Thu, 28 Dec 2006 22:11:01 GMT</pubDate><guid isPermaLink="false">Developer Forum: Context constructor 20061228101101P</guid></item><item><title>Developer Forum: Notes on Groove's web services</title><link>http://www.codeplex.com/GWSV12Helpers/Project/DisplayThread.aspx?ForumId=2982&amp;ThreadId=3060&amp;ANCHOR#LastPost</link><description>1) Each instance of the Groove client, as well as each instance of the Groove Data Bridge, is a local web services server

2) Groove's web services should be thought of as a means for cross-process communication to occur (i.e. external application and Groove).  There is no UDDI or other technologies associated that are typically associated with web services (e.g. ws-*)

3) While Groove does expose web services for external applications to use, developers should think of these external applications as adjuncts to Groove (and its UI).  The best types of applications are those that import/export data into/from Groove instead of applications that try to use Groove as (invisible) plumbing.

4) There is no transactional integrity provided via Groove's web services</description><author>psuthar</author><pubDate>Thu, 21 Dec 2006 18:53:26 GMT</pubDate><guid isPermaLink="false">Developer Forum: Notes on Groove's web services 20061221065326P</guid></item></channel></rss>