c# - Wix ServiceInstall 指定帐户
问题描述
我用 WiX 创建了一个服务安装程序。安装程序使用InstallPrivileges="elevated"
. 我的服务必须访问一个远程文件夹,因此我想指定用户属性以确保该服务将具有足够的权限。
我检查了 WiX 文档,但我只找到了如何将本地系统定义为帐户。
如何为服务定义用户(可能是当前用户)?
<ServiceInstall Id="ServiceInstaller"
Type="ownProcess"
Vital="yes"
Name="$(var.service)"
DisplayName="$(var.product)"
Start="auto"
Account="LocalSystem"
ErrorControl="normal" />
解决方案
凭据:您需要指定帐户和密码,可能如下所示(现在没有时间测试)。msiexec.exe
请注意,使用或通过MSI 对话框从命令行安装时可以设置公共属性:
<..>
<Property Id="SERVICEACCOUNT" Hidden="yes" Value="MyUser"/>
<Property Id="SERVICEPASSWORD" Hidden="yes" Value="MyPass"/>
<..>
<Component>
<ServiceInstall Name="MyService" Start="auto" ErrorControl="normal" Type="ownProcess"
Account="[SERVICEACCOUNT]" Password="[SERVICEPASSWORD]" >
</ServiceInstall>
<ServiceControl Name="MyService" Start="install" Stop="both" Wait="yes" Remove="uninstall" />
</Component>
创建本地用户:如果您需要在您安装的机器上创建本地用户,您可以使用 WiX Util 功能。也许在 github 上看到这个示例。搜索"util:User"
。
强制宣讲 :-):我个人不喜欢使用用户凭据运行的服务 - forsecurity reasons
和 forpractical reasons
(管理密码更改过程而不导致重大服务中断)。
更多内容Section 12
:如何避免 WiX / MSI 部署解决方案中的常见设计缺陷?请同时检查链接 - 尤其是“托管服务帐户”?(一步一步)。
一些链接:
推荐阅读
- python - Sphinx 没有为文件生成文档
- reactjs - React Infinite scroll 不会在第一页触发滚动
- php - PHP页面加载时自动硬刷新
- r - 在框架以 r ggplotly 结束后保留折线图
- python - 如何使用 Python 在两个子图中绘制虚线?
- asp.net-core-mvc - 找不到名为“搜索”的视图组件
- google-cloud-platform - 是否可以将 Cloud Scheduler 配置为在一个作业中触发多个功能?
- python - 使用 pip (python) 为 ibm_db 安装错误
- reporting-services - SSRS:如何将行“继续”到第二个“列”并避免浪费空白空间?
- python - 使用 discord.py 的链接检测器