【问题标题】:Can wix prompt for a windows service username/password?wix 可以提示输入 Windows 服务用户名/密码吗?
【发布时间】:2011-03-20 02:15:14
【问题描述】:

我正在使用 Wix 安装 Windows 服务。该服务需要在用户设置的非系统/服务帐户下运行。

是否可以提示输入服务登录的用户名/密码?

【问题讨论】:

    标签: wix service-installer


    【解决方案1】:

    GitHub 上的Community MSI Extensions 包含一个 ServiceCredDlg 对话框,用于提示用户名和密码。根据docs,它可以测试凭据是否有效以及该用户是否具有“作为服务登录”权限。

    【讨论】:

      【解决方案2】:

      是的,但它不是内置的。您可以在 WiX 中设置一个 GUI(这不太直观),您可以在其中提示您在后续步骤中需要的任何设置。

      首先,查看如何按照these 指南创建设置自定义属性的 GUI,确保您的 GUI 填充属性 SERVICEACCOUNT 和 SERVICEPASSWORD。然后使用具有这些属性的 ServiceInstall 元素,如 here 所示。

      【讨论】:

        【解决方案3】:

        WiX 没有(或至少没有)为您所寻找的东西提供开箱即用的好东西。我知道的最佳选择是自己动手。

        https://www.geekproject.com/post/wix-service-account-dialog/

        【讨论】:

          【解决方案4】:

          您可以在命令行上使用凭据设置 PUBLIC PROPERTIES(大写)并使用这些凭据来安装服务。

          msiexec.exe /I "setup.msi" /QN USER="username" PASS="password"

          自定义操作也可用于在交互式安装期间从用户那里检索这些值,但如果您这样做,请记住使消息的显示符合设置 UILevel 值。在静默安装中显示来自自定义操作的消息框被视为严重的设置错误:

          • INSTALLUILEVEL_NONE 2 完全静默安装。
          • INSTALLUILEVEL_BASIC 3 简单的进度和错误处理。
          • INSTALLUILEVEL_REDUCED 4 创作的 UI,向导对话框被抑制。
          • INSTALLUILEVEL_FULL 5 带有向导、进度、错误的创作 UI。

          也许最好的选择是在交互式安装中显示对话框,如果这些属性未在命令行上设置,则拒绝静默安装。这是一个简单的自定义操作,用于测试 USER 和 PASS 属性的值。

          显然不建议使用用户帐户来运行服务。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-10-10
            • 1970-01-01
            • 2016-01-30
            • 2014-01-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多