检查是否安装了Visual C ++ 2010 - No Work

时间:2013-05-19 18:15:57

标签: vb.net visual-studio-2010 visual-c++ registry

对于我的程序,我希望它检查是否已经安装了Visual C ++,并且从一点点Google搜索,我可以通过检查注册表项来检查它们是否已安装: http://blogs.msdn.com/b/astebner/archive/2010/05/05/10008146.aspx

问题是,当我实际运行程序时,没有任何反应。我尝试以管理员身份运行它,但没有任何事情发生。这是我的代码:

Imports Microsoft.Win32

Public Class Form1
    Public Sub Form1_Load()
        Dim regKey As RegistryKey
        regKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x64", True)
        If Not regKey Is Nothing Then
            MsgBox("Found")
        Else
            MsgBox("Not Found")
        End If
    End Sub
End Class

我不确定是否正确输入或问题是什么。

1 个答案:

答案 0 :(得分:1)

根据MSDN链接,您应该从本地计算机密钥读取,而不是当前用户密钥:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x64] 

您应该尝试更改代码中的regKey行,如下所示:

regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE...
' change this --> ^^^^^^^^^^^^

编辑 - 关于您的表单没有做任何事情:您的Form1_Load函数永远不会被调用,因为它没有正确的签名。将您的Form1_Load功能签名更改为:

Protected Overrides Sub OnLoad(e As EventArgs)
    Dim regKey As RegistryKey
    ...

您可能必须以管理员身份运行Visual Studio才能从本地计算机密钥读取注册表。