Podczas uruchamiania mojej aplikacji próbuję sprawdzić, czy użytkownik ma konkretną wersję zainstalowanego oprogramowania, w szczególności złącze MySQL, wszystkie używające C#. W rejestrze MySQL zawiera wpis wersji. Więc to, co próbuję osiągnąć, to jest to.Jak odczytać wartość klucza rejestru C#
Moja aplikacja uruchamia się. Gdzieś w kodzie startowym muszę zrobić następujące rzeczy w kolejności. Sprawdź, czy użytkownik ma zainstalowaną wtyczkę MySQL, który znajduje się w ...
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Connector/Net
Jeśli użytkownik ma zainstalowany łącznik, chciałem sprawdzić, co mają wersję, która jest przechowywany jako Nazwa = "Wersja" i Data = xxx (Zdjęcie poniżej)
Teraz, jeśli użytkownik ma zainstalowaną konkretną wersję, wykonam inny kod, z którego mogę pobrać.
Jaki byłby najlepszy sposób postępowania w tej sprawie?
EDIT: Poniżej znajduje się kod Obecnie mam i jestem coraz błąd na linii 19 (jest to skomentował). Mój błąd mówi "error CS1001: Identifier Expected
" Nie byłem w stanie dowiedzieć się, co to oznacza. Jakaś pomoc?
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
}
}
}
http://msdn.microsoft.com/en-us/library/microsoft.win32.registry.getvalue.aspx – Marcus