在我的 innosetup 应用程序安装期间,我正在注册一个 dll(用于 Windows 右键单击上下文菜单和图标覆盖,类似于 dropbox/tortoise cvs)并执行一些其他操作。到目前为止,我只为管理员用户安装应用程序。该dll会在HKCR、HKLM中写入信息。现在,我也计划支持其他非管理员用户(标准用户)的安装。
我尝试了以下几件事,
- 将所需的权限从管理员更改为无。
- 将所有注册表更新从 HKLM 更改为 HKCU。
但是,如果我尝试安装应用程序,由于无法在 HKCR 上写入,dll 注册失败。所以,我打算只为管理员用户注册 dll。对于其他普通用户,计划跳过 dll 注册并做其他事情。但我不知道,如何识别当前用户是管理员用户。任何人都可以让我知道以下事情,
- 我们能否确定当前登录用户是否是管理员/高级用户?
- 我们可以在没有管理员权限的情况下注册 dll(编写 HKCR)吗?
感谢您的回复。