【问题标题】:How to check existing user account is under administrator group or not?如何检查现有用户帐户是否在管理员组下?
【发布时间】:2012-08-01 12:44:58
【问题描述】:

我正在使用 wix 安装程序使用现有用户帐户(窗口服务的登录用户帐户)安装 Windows 服务。我有一个 customUI 对话框,它将获取用户名和密码,一旦在单击下一步按钮时提供凭据,安装程序应验证给定用户是否是内置管理员组的一部分。我应该使用自定义操作还是有其他方法?

【问题讨论】:

    标签: wix custom-action


    【解决方案1】:

    这必须是自定义操作。 WiXUtilExtension 为您提供了将新用户或现有用户添加到组的选项(请参阅User/Group/GroupRef 元素),但这可能不是您想要的 - 它可能非常危险。

    顺便说一句,您可以利用MSI Extensions project - 看看this,它似乎正是您所需要的。

    【讨论】:

    • 谢谢你这正是我要找的。我想我需要参考 UserPrivileges.dll。不知道在哪里可以买到这个。
    • 只要下载那个项目——我想它都在里面
    • 我在自定义操作中引用了 dll。但是安装程序抛出错误。未能出现错误 2896:执行操作 CheckMembership 失败。 @yanSklyarenko
    • 生成详细日志文件 (/l*v install.log) 并在该日志中搜索 value 3。错误解释将在该消息附近的某个地方
    • 这是执行自定义操作后得到的错误消息:MSI (c) (84!38) [10:50:40:342]: PROPERTY CHANGE: 添加 CA_ERROR 属性。它的值为'0x80070005 - CheckTokenMembership failed: Access is denied.'。行动于 10:50:40 结束:CheckMembership。返回值 3。
    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多