Como ler o valor de uma chave de registro c #

Na inicialização do meu aplicativo, estou tentando verificar se o usuário possui uma versão específica de um software instalado, especificamente o conector do MySQL, todos usando c #. No registro, o MySQL contém uma entrada de versão. Então, o que estou tentando realizar é isso.

Meu aplicativo inicia. Em algum lugar do código de inicialização, preciso fazer as seguintes coisas em ordem. Verifique se o usuário possui o conector MySQL instalado, localizado em ...

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Connector/Net

Se o usuário tiver o conector instalado, eu gostaria de verificar qual versão ele possui, que é armazenada como Nome = "Versão" e Dados = x.x.x (Figura abaixo)

Agora, se o usuário tiver uma versão específica instalada, executarei outro código, de onde posso extrair.

Qual seria a melhor maneira de fazer isso?

EDITAR: Abaixo está o código que tenho atualmente e estou recebendo um erro na linha 19 (está comentado). Meu erro diz "error CS1001: Identifier Expected"Não consegui descobrir o que isso significa. Alguma ajuda?

using System;
using Microsoft.Win32;
using System.Data;

public class regTest
{
    public static void Main()
    {
        try
        {
            RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\MySQL AB\\MySQL Connector\\Net");
            if (key != null)
            {
                Object o = key.GetValue("Version");
                if (o != null)
                {
                    Version version = new Version(o as String);  //"as" because it's REG_SZ...otherwise ToString() might be safe(r)
                    Version broken = new Version("6.7.4");
                    if (version.Equals.(broken)) //This is where the error is occuring
                    {
                        DataSet dataSet = ConfigurationManager.GetSection("system.data") as ystem.Data.DataSet;

                        DataView vi = dataSet.Tables[0].DefaultView;
                        vi.Sort = "Name";
                        if (vi.Find("MySql") == -1)
                        {
                            dataSet.Tables[0].Rows.Add("MySql"
                                , "MySql.Data.MySqlClient"
                                , "MySql.Data.MySqlClient"
                                ,
                                typeof(MySql.Data.MySqlClient.MySqlClientFactory).AssemblyQualifiedName);
                        }

                    }

                }
            }
        }

        catch (Exception ex)  //just for demonstration...it's always best to handle specific exceptions
        {
             //react appropriately
        }
    }
}

questionAnswers(3)

yourAnswerToTheQuestion