首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WiX ServiceInstall -将服务设置为作为当前windows用户运行

WiX ServiceInstall -将服务设置为作为当前windows用户运行
EN

Stack Overflow用户
提问于 2009-09-28 15:18:39
回答 1查看 11.4K关注 0票数 10

我正在使用WiX安装一个Windows服务。如何使服务在运行安装程序的Windows用户的上下文中运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-30 18:33:53

您需要拥有要运行该服务的用户的帐户名和密码。为此,我在安装程序中添加了一个自定义UI,要求输入用户名和密码,然后使用为ServiceInsall元素上的Account和Password属性提供的值。

请注意,无论使用哪个帐户来运行服务,都需要拥有作为服务登录的特权。默认情况下,不会授予用户此权限。我能够使用UtilExtension模式中的user元素将这个priveledge添加到用户。只有当运行安装程序的用户是管理员时,才能成功地向用户添加特权。

这是我使用的代码。SERVICECREDENTIALS_USERLOGIN和SERVICECREDENTIALS_PASSWORD是从自定义UI填充的属性。

代码语言:javascript
复制
<Component Id="ServiceEXE" Guid="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx">
  <File Id="ServiceEXE" Name="YourService.exe" DiskId="1"
        Source="path\to\YourService.exe" KeyPath="yes" />
  <util:User Id="UpdateUserLogonAsService" UpdateIfExists="yes" CreateUser="no" Name="[SERVICECREDENTIALS_USERLOGIN]"
             LogonAsService="yes" />
  <ServiceInstall Id="ServiceInstall" Type="ownProcess" Vital="yes" Name="YourService"
                  DisplayName="Your Service" Description="Your Service description"
                  Start="auto" Account="[SERVICECREDENTIALS_USERLOGIN]" Password="[SERVICECREDENTIALS_PASSWORD]"
                  ErrorControl="normal" Interactive="no" />
  <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="YourService" Wait="yes" />
</Component>
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1487638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档