是否可以提示Windows服务用户名/密码?

时间:2011-03-20 02:15:14

标签: wix service-installer

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

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

4 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:5)

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

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

答案 2 :(得分:4)

WiX没有(或者至少没有)开箱即用的东西可以满足您的需求。我所知道的最好的选择就是自己滚动。

http://www.geekproject.com/showtopic.aspx?ID=94

答案 3 :(得分:0)

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

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

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

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

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

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