我正在使用Wix来安装Windows服务。该服务需要在用户设置的非系统/服务帐户下运行。
是否可以提示输入服务登录的用户名/密码?
答案 0 :(得分:8)
GitHub上的Community MSI Extensions包含一个ServiceCredDlg对话框,用于提示用户名和密码。根据{{3}},它可以测试凭据是否有效以及用户是否“登录为服务”权限。
答案 1 :(得分:5)
是的,但它不是内置的。您可以在WiX中设置GUI(这不太直观),您可以在后面的步骤中提示您需要的任何设置。
首先,查看如何创建一个按照these指南设置自定义属性的GUI,确保GUI填充属性SERVICEACCOUNT和SERVICEPASSWORD。然后使用ServiceInstall元素和here所示的那些属性。
答案 2 :(得分:4)
WiX没有(或者至少没有)开箱即用的东西可以满足您的需求。我所知道的最好的选择就是自己滚动。
答案 3 :(得分:0)
您可以使用命令行上的凭据设置PUBLIC PROPERTIES(大写),并使用这些来安装服务。
msiexec.exe / I“setup.msi”/ QN USER =“username”PASS =“password”
自定义操作也可用于在交互式安装期间从用户检索这些值,但如果这样做,请记住使消息的显示遵循设置 UILevel值即可。在静默安装中显示自定义操作的消息框被视为严重的设置错误:
也许最好的选择是在交互式安装中显示对话框,如果未在命令行上设置这些属性,则拒绝静默安装。这是一个简单的自定义操作,用于测试USER和PASS属性的值。
显然,不建议使用用户帐户来运行服务。