【发布时间】:2011-03-20 02:15:14
【问题描述】:
我正在使用 Wix 安装 Windows 服务。该服务需要在用户设置的非系统/服务帐户下运行。
是否可以提示输入服务登录的用户名/密码?
【问题讨论】:
标签: wix service-installer
我正在使用 Wix 安装 Windows 服务。该服务需要在用户设置的非系统/服务帐户下运行。
是否可以提示输入服务登录的用户名/密码?
【问题讨论】:
标签: wix service-installer
GitHub 上的Community MSI Extensions 包含一个 ServiceCredDlg 对话框,用于提示用户名和密码。根据docs,它可以测试凭据是否有效以及该用户是否具有“作为服务登录”权限。
【讨论】:
WiX 没有(或至少没有)为您所寻找的东西提供开箱即用的好东西。我知道的最佳选择是自己动手。
https://www.geekproject.com/post/wix-service-account-dialog/
【讨论】:
您可以在命令行上使用凭据设置 PUBLIC PROPERTIES(大写)并使用这些凭据来安装服务。
msiexec.exe /I "setup.msi" /QN USER="username" PASS="password"
自定义操作也可用于在交互式安装期间从用户那里检索这些值,但如果您这样做,请记住使消息的显示符合设置 UILevel 值。在静默安装中显示来自自定义操作的消息框被视为严重的设置错误:
也许最好的选择是在交互式安装中显示对话框,如果这些属性未在命令行上设置,则拒绝静默安装。这是一个简单的自定义操作,用于测试 USER 和 PASS 属性的值。
显然不建议使用用户帐户来运行服务。
【讨论】: