Najpewniejszy sposób ustalenia, czy aplikacja została zainstalowana na komputerze z systemem Windows w aplikacji VB.NET?


Znam domyślną ścieżkę instalacji aplikacji i nazwę pliku .exe, ale czy istnieje sposób sprawdzenia, czy jest faktycznie zainstalowana?
Widziałem sugestie dotyczące sprawdzania wpisów w rejestrze, ale nie wiem, czy ta aplikacja używa któregokolwiek z nich, czy też są one różne dla różnych użytkowników na różnych komputerach.
Wiele wpisów rejestru nie ma ustawionych wartości domyślnych. Wolę nie nurkować zbyt głęboko i polegać na wartości parametru czcionki.
Chciałbym wiedzieć, czy „nazwa_aplikacji” istnieje. Nie mogę polegać na tym, że będzie to ustawienie domyślne, ponieważ nigdy tak nie jest. Ponieważ używam .GetValueKind, nie muszę się martwić, że „AboutSiteUR” ma jakiekolwiek znaczenie, zakładając, że jeśli ma typ, to istnieje. W przeciwnym razie zakładam, że Try/Catch wyłapie błąd taki jak IO.IORegistry (nie jestem tego pewien).
Dim sDisplay_Reg_Value As String
Dim Everest_Registry As Microsoft.Win32.RegistryKey = _
My.Computer.Registry.CurrentUser.OpenSubKey("Software\Company_Name\App_Name")
Try
sDisplay_Reg_Value = CType(Everest_Registry.GetValueKind("AboutSiteUR"), String)

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

„Jeśli klucz nie istnieje, Everest_Registry nie będzie zawierał nic, w przeciwnym razie zwrócony klucz będzie pełny. Spróbuj tego:
Dim Everest_Registry As Microsoft.Win32.RegistryKey = _
My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Internet Explorer")
If Everest_Registry Is Nothing Then
'key does not exist
MsgBox("Key does not exist")
Else
'key is valid, display actual name
MsgBox(Everest_Registry.Name)
End If
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Czy aplikacja jest wyświetlana w panelu sterowania Dodaj/Usuń programy? Jeśli tak, to na pewno są pewne wpisy rejestru, na które możesz spojrzeć i które nie będą się różnić w zależności od użytkownika.
użyj
regedit.exe
, aby wyszukać podklucze klucza CLSID, jeśli folder aplikacji pojawi się w którymkolwiek z podkluczy, będzie to również coś, co nie jest specyficzne dla użytkownika.
Możesz też ich zapytać. Kiedyś pracowałem dla firmy, która tworzyła oprogramowanie, które można było kupić w Best Buy, itp. Ich oprogramowanie miało specjalny klucz rejestru, który każda aplikacja tworzyła, aby wszystkie ich aplikacje mogły się nawzajem znaleźć.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się