代码之家  ›  专栏  ›  技术社区  ›  patrick

我能在不做管理者的情况下运行RegAsm吗?

com
  •  10
  • patrick  · 技术社区  · 14 年前

    我的同事正试图通过RegAsm.exe注册一些COM组件(我写的),它说他需要管理员权限。他的帐户具有管理员权限,但他没有以管理员身份登录。有没有办法使用他的常规用户帐户并成功完成此任务?

    5 回复  |  直到 14 年前
        1
  •  3
  •   Hans Passant    14 年前

    需要管理员权限才能允许Regasm.exe更新注册表。如果这是UAC限制,请在桌面上为cmd.exe创建快捷方式,并选中“以管理员身份运行此程序”复选框。或者在Visual Studio命令提示符快捷方式上更改此设置,这样更容易。

        2
  •  10
  •   kevinarpe Dario Hamidi    12 年前

    我在一个环境/管辖区工作,在那里根本不可能向所有用户提供本地管理员访问权限(法律/合规/法规不允许)。

    AtlSetPerUserRegistration

    试试这个:使用 regasm ,使用/regfile参数生成注册表项。默认情况下,注册表项应使用HKEY_CLASSES_ROOT(HKCR)作为根。修改条目(手动或通过脚本)以使用HKEY_CURRENT_USER(HKCU)。

        3
  •  3
  •   Chris Becke    14 年前

    你为什么不用 registration free com ? 自2003年以来,Its才得到支持,并且不需要UAC/管理访问来安装COM组件。


    实际查询的潜台词是:HKEY_LOCAL_MACHINE密钥中没有-COM注册,该密钥始终需要管理访问权限。


    我撒谎了:事实上你可以。如果您创建的应用程序根本没有清单,Windows将推断其XP era应用程序需要运行管理访问,并将激活兼容模式,该模式除其他功能外,将对HKLM的写访问重定向到HKCU下的可写位置。因此,COM组件注册“成功”,但仅为当前用户注册。

        4
  •  2
  •   Woot4Moo    14 年前

    我认为这个问题应该放在其他地方,但是Windows使用的权限最少,所以如果他是一个既是普通用户又是管理员的用户,那么他将获得普通用户权限。使用run as使其正常工作,或右键单击该项并“以管理员身份运行”

        5
  •  1
  •   DavidRR Chris Brandsma    9 年前

    我已登录到具有管理员权限的帐户。但是 仍然说它需要管理员权限。

    [从我的一些笔记中 Windows 2008 R2版 在其他支持UAC的Windows操作系统上进行确认。以下假设允许您对 ]

    在其默认配置中,用户帐户控制(UAC)设置授予本地管理员完全权限,但限制管理员组其他成员的权限。要解除对Administrators组其他成员的UAC限制,请执行以下操作:

    1. 起点 -> 所有程序 -> 管理工具 本地安全策略 .
    2. 地方政策 -> 安全选项 .
    3. 在右侧面板中,双击底部的第三个条目 .
    4. 点击 残疾人
    5. 点击 关闭对话框并关闭本地安全策略配置工具。