2011-09-01 88 views
0

这是我目前面临的另一个奇怪的行为。我有一个完全信任的网络驱动器上部署的应用程序。此应用程序检查现有的ODBC连接。访问Windows注册表失败ClickOnce应用程序

在我的机器上,一切都很好,并按预期工作。

在同事的机器上,它没有工作并且显示消息,表示他无法访问密钥。在“regedit”中,他可以访问并更改它。他就像我本地的管理员。

关键应用程序访问是:

var odbcKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\ODBC\\ODBC.INI"); 

开始与* .EXE的一切同一个应用程序被罚款。

任何想法?

回答

1

你必须要到注册表键,然后用鼠标右键单击它来编辑此注册表项的权限,那么权限..然后给从中读取数据的权限。 (假设你使用的是Windows 7)。

我都面临着同样的问题,它是通过给予在此关键正确的用户“写入”权限,因为你正试图创造一种需要许可的注册表子键固定。

+0

正如我所说的用户是本地管理员,目前能够编辑注册表中的密钥。 – MacX

+0

这是远远不够的,OK,尝试添加用户“每个人”,并给它的读写权限和尝试,你会发现它会奏效。 –

+0

好的...谢谢...让它工作。但是,这是很奇怪的,即使你是本地管理员,你必须给在关键的明确权限,可以改变它在.NET应用程序的ClickOnce从开始? – MacX