0

我有一个旧版 USB 设备驱动程序,它可以从 Windows 注册表读取数据并将数据写入 HKEY_LOCAL_MACHINE/SOFTWARE/COMPANY/PRODUCT。我无法更改此设置,因此我需要一种解决方法,因为我注意到在启用了 UAC 的 Windows Vista 和 Windows 7 上,执行写入的功能会返回错误。我的猜测是根本没有访问权限。

我目前的解决方法是使用管理权限启动我的应用程序,但您可能会猜到这不是一个很好的解决方案。由于在应用程序启动时初始化 USB 设备时会访问注册表,因此我也不能简单地请求重新启动。

我知道我可以使用我的安装程序(以管理权限运行)中的 cacls 授予系统上某些文件夹的访问权限,但是我可以做一些类似的事情来授予这个特定的注册表项吗?(我想要授予和撤销命令。)

4

1 回答 1

0

应避免授予非管理员用户对 HKLM 的写入权限。但是,如果您仍然需要这样做,您可以使用SetACL设置/删除权限。SetACL 可作为独立的命令行可执行文件和 COM 对象使用。

于 2011-09-29T08:54:00.427 回答