【问题标题】:Write to HKEY_LOCAL_MACHINE on Windows 7 without Administrator privilleges在没有管理员权限的情况下在 Windows 7 中写入 HKEY_LOCAL_MACHINE
【发布时间】:2011-08-24 05:57:07
【问题描述】:

首先,我意识到这是一个混乱的局面,但这不是我的设计,我只是想提供帮助,为此我需要你的帮助。

  1. App A 正在通过 SMS 安装程序在管理员帐户下自动安装,而不是 PC 所有者的用户帐户。应用 A 在HKEY_LOCAL_MACHINE hive 中定义了一个注册表项。
  2. App A 安装后,我们要编辑上面提到的注册表项,分配用户的C:\Users\USER_ID\Documents\ 文件夹(我被告知我们不知道用户是谁并且没有访问权限在第 1 步中发送到 USER_ID)。
  3. 我对 UAC、应用程序清单和 requestedExecutionLevel 了如指掌。但是,有人告诉我,我们不能指望所有用户都在他们机器上的 Administrators 组中。
  4. 解决方案也必须向后兼容 Windows XP。

我正在寻找在上述条件下将“C:\Users\USER_ID\Documents\”放入“HKEY_LOCAL_MACHINE”配置单元的选项。

我发现这个帖子可能与类似情况有关,但我还没有完全理解它(所以我会感谢任何解释得更好的人):

我还阅读了一些排除 ClickOnce 的内容:

【问题讨论】:

    标签: windows-7 installation uac registry


    【解决方案1】:

    使用管理员权限安装 App A 后,您正尝试以没有管理员权限的本地用户身份运行附加脚本。 为了让您的辅助脚本写入本地机器密钥,它必须以管理权限运行..期间。也就是说,您基本上有两种选择:

    1) 使用 RunAs 命令以提升的权限运行脚本,并让用户输入管理员用户名和密码以以提升的权限运行脚本。

    2) 这是 imo 的更好方式 - 由于 SMS 被用作交付工具,因此在安装时使用其检测和使用本地客户端配置设置的功能来编写密钥。

    所以基本上 SMS 包必须设置为仅在本地用户登录一次时运行,以便 SMS 可以抓取当前用户并将其写入某处的文件.. 完成后 SMS 可以单独运行以管理员身份打包(将提示用户)进行软件安装,查找包含用户的文件,然后将本地计算机密钥更新为正确的用户我的文档路径。

    享受吧!

    【讨论】:

    • 你说的本地客户端配置设置是什么意思?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    相关资源
    最近更新 更多