【问题标题】:Let the user specify in which account a service runs让用户指定服务在哪个帐户中运行
【发布时间】:2015-11-29 16:13:41
【问题描述】:

我有一个 Windows 服务,它应该在用户在安装过程中指定的域帐户下运行

Wix 安装程序如何实现这一点(即询问用户该服务应使用的帐户和密码)?

背景

我的服务需要访问网络共享,而LocalSystem 没有适当的权限,所以我想使用现有的域用户帐户。

【问题讨论】:

    标签: wix


    【解决方案1】:

    ServiceInstall element 是你的朋友。它包含属性帐户和密码。 因此,在您的对话框中创建几个控件:

    <Control Type="Edit" Property="ACCOUNT" ... />
    <Control Type="Edit" Property="PASSWORD" Password="Yes" ... />
    

    并使用这些属性来指示 ServiceInstall:

    <ServiceInstall Id="..." Account="[ACCOUNT]" Password="[PASSWORD]" Type="ownProcess" ... />
    

    希望这会有所帮助。

    【讨论】:

    • 我想我明白你的意思了:我必须将我自己的自定义对话框添加到安装程序中,该对话框要求用户输入帐户 + 密码。我可以在ServiceInstall 元素中使用这些值来设置帐户。正确的?没有我可以使用的标准、现成的对话框吗?
    • 正确。不,据我所知,没有标准对话框,但创建它应该很简单
    • 为帐户设置密码时要小心。您还必须获取有关卸载的信息。请参阅此页面:msdn.microsoft.com/en-us/library/aa371637%28v=vs.85%29.aspx'[...] 删除使用用户名和密码安装的服务后,安装程序无法回滚服务,除非先使用自定义操作获取密码 [...] CA通过提示用户、从数据库中读取属性或读取文件来获取密码。在重新安装服务之前,自定义操作必须调用 ChangeServiceConfig 来提供密码。'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    相关资源
    最近更新 更多