确定应用是否安装的最先驱的方式 Windows PC 在申请中 VB.NET?

我知道默认的应用程序路径和文件名 .exe, 但有没有办法检查它是否真的安装了?
我看到了检查注册表项的提案,但我不知道此应用程序是否使用它们中的任何一个,或者如果它们对不同的PC上的不同用户有所不同。

许多注册表项没有默认值。 我不想潜入太深并依赖于字体参数的值。

我想知道是否有 "App_Name". 我无法依赖它具有默认值的事实,因为它永远不会是它。 因为我使用 .GetValueKind, 我不需要担心什么 "AboutSiteUR" 假设如果他有类型,那么它真的存在。 否则我认为 Try/Catch 捕捉类型错误 IO.IORegistry /我不确定这个/.


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/
已邀请:

裸奔

赞同来自:

"如果密钥不存在, Everest_Registry 什么都不会包含,否则返回的密钥将被填补。 试试吧:


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

二哥

赞同来自:

是应用程序显示在控制面板中 "Add/Remove programs"? 如果是这样,那么肯定有一些注册表项,您可以看到,这取决于用户不会有所不同。

使用
regedit.exe

搜索关键小节 CLSIDs, 如果应用程序文件夹出现在任何子部分中,它也将是不依赖于用户的东西。

或者你可能会问他们。 我曾经在一家公司中工作,该公司制造了可以购买的软件 Best Buy 等等。他们的软件是一个特殊的注册表项,每个应用程序都会创建所有应用程序都能找到彼此。

要回复问题请先登录注册