获取Windows服务以阅读注册表HKLM

时间:2014-09-03 23:47:44

标签: vb.net service registry

我一直想要让它发挥作用。我在VB.NET中编写了一个服务和一个表单应用程序,这两个应用程序都需要访问一个注册表项来查找包含我数据库的计算机。在表单应用程序中它工作得很好,但服务没有。我认为这是一个权限问题,所以我检查了服务器上的权限(Windows 2008),他们很好 - 我甚至尽可能地运行服务作为管理员,以防这是问题但仍然没有乐趣。我的代码有问题吗?

我尝试过访问注册表的方法。第一种方法只是将服务器变量设置为空,第二种方法是“反应”。变量最终没有任何结果(告诉我它甚至找不到子键):

Dim server As String = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\EPS\XPV", "Server", Nothing)

,第二个是:

Dim rk As RegistryKey = Registry.LocalMachine.OpenSubKey("\SOFTWARE\EPS\XPV")

服务本身启动很好,因为我在这些行之后立即收到我的日志消息,告诉我值是空白的,所以它只是找出为什么我无法访问服务中的注册表,即使我可以在表格app。

1 个答案:

答案 0 :(得分:1)

在HKLM \ SOFTWARE \ Wow6432Node下查找您的键/值,或者将您的应用程序编译为64位。