WiX ServiceInstall - 将服务设置为以当前 Windows 用户身份运行

2023-11-23

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


您需要拥有要运行服务的用户的帐户名和密码。我通过向安装程序添加自定义 UI 来要求输入用户名和密码,然后使用 ServiceInsall 元素上的帐户和密码属性提供的值来实现此目的。

请注意,用于运行服务的任何帐户都需要具有“登录为服务”特权。默认情况下不会授予用户此权限。我能够使用 UtilExtension 架构中的 User 元素将此权限添加到用户。仅当运行安装程序的用户是管理员时,向用户添加特权才会成功。

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

<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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WiX ServiceInstall - 将服务设置为以当前 Windows 用户身份运行 的相关文章

随机推荐

  • Web API 中的异常处理

    在我的 Web API 项目中 我创建了子项目 类库 在其中处理实际的数据处理操作 我的后端数据库是DocumentDB 我的问题是如何告诉我的 Web API 操作方法我在类库的数据方法中可能遇到的任何错误 一旦我的 Web API 方法
  • 当应用程序处于后台时,NSTimer 的行为是什么?

    我知道当您后台应用程序时 计时器会停止运行 然而 当你从后台回来时 行为是什么 定时器是否保持原来的状态fireDate 我遇到了一个问题 即从后台返回并设置十分钟后触发的 NSTimer 时 有时我会立即让计时器在之前触发applicat
  • 在 RawContacts 中找不到 Facebook 联系人

    我正在尝试构建一个联系人管理应用程序 我的手机上有多个帐户的联系人 包括 Facebook 和 HTC Facebook 由于某种原因 我无法从RawContacts表的ContactsContract managedQuery Conta
  • 在 Google Chrome 中打印表格时,内容与标题重叠

    我在打印包含 HTML 代码的表格时使用 Google Chrome 遇到问题 我需要创建一个带有标题的文档 为了实现这一点 我使用带有 thead 元素的表格 因此浏览器将为打印文档的每个页面复制它 问题是当我在页面中有分页符时 内容与标
  • 获取Windows消息名称[重复]

    这个问题在这里已经有答案了 我有一个使用 DLL 扩展的 Windows 程序 我通过调试流对象包含调试代码 这些对象通过 OutputDebugString 进行打印 并且可以使用 DebugView 进行查看 接口的一部分是消息处理函数
  • 多相机图像拼接

    我一直在运行一个从多个摄像机拼接图像的项目 但我认为我遇到了瓶颈 我对这个问题有一些疑问 我想将来尝试将它们安装在车辆上 这意味着相机的相对位置和方向是固定的 另外 由于我使用多个相机并尝试使用同位图来缝合它们的图像 我会将相机放置得尽可能
  • Android底部导航查看项目文本颜色?

    我开始研究 Android 底部导航视图 但我面临一个问题 如果我向底部导航视图添加 5 个项目 则只有选定的项目显示项目文本 如果我添加 3 个项目 它就可以正常工作 任何人请告诉我如何显示所有 5 个项目的项目文本 先感谢您 菜单 xm
  • JsonMappingException 没有单字符串构造函数/工厂方法 Jackson

    我正在尝试使用 Spring 构建 Jackson 支持来解析从控制器中的 UI 发送的 JSON 数据 这是我的代码 final Map
  • 使用 Interface Builder 进行绑定(适用于 iPhone 应用程序)

    如何使用 Interface Builder 绑定 iPhone SDK 控件 例如 UISlider 与常规 Cocoa 应用程序不同 当使用 Interface Builder 打开 iPhone 应用程序 XIB 时 绑定选项卡似乎不
  • 使用 doxygen 的 \link 命令

    我有一个外部 HTML 文件 我想从我的 doxygen 相关页面 选项卡或左侧框架中链接 看来我需要使用 link命令 但我找不到如何使用它或在哪里使用它的好例子 我目前正在使用 doxywizard 生成 HTML So is link
  • jQuery 中的并行 JSONP 请求不会触发多个“回调事件”?

    当我执行多个 jsonp 请求时 我在 jQuery 中遇到问题 所有请求都使用相同的 jsonpCallback 函数 似乎只有其中之一才会触发回调函数 JSONP 请求是否会以某种方式相互覆盖 下面是向 github 发出 2 个 js
  • 自动实现属性的 C# 协变返回

    如你所知 C 9 0 Net 5 现在允许协变返回 我需要帮助将其应用于一组具有自动实现属性的类 我有两个代表金融银行账户和交易的抽象类 我将它们抽象化 因为我将从各种数据源中提取数据 虽然主要属性在所有源中都是通用的 但每个源可能有我想要
  • JCenter 弃用;对 Gradle 和 Android 的影响

    我应该担心吗JCenter被弃用 为什么我应该将我的库从JCenter到其他 Maven 存储库 我可以继续使用吗jcenter 在我的 Gradle 构建脚本中 Replace jcenter 有了这个 mavenCentral
  • 如何定义 shell 脚本变量使其具有脚本之外的作用域

    我正在使用 Ubuntu Natty 我有一个 shell 脚本 已保存到 etc init d qstart shell脚本包含以下内容 apt get y update apt get y upgrade apt get y insta
  • JQuery/Javascript 或其他方式静默打印仅一次

    任何人都知道如何在跨浏览器 API 或 jQuery 或 javascript 等库中打印文件而不显示打印预览 打印内容而无需打印预览 仅静音打印 打印一次 当打印软拷贝时 软拷贝就会过期 因为出于安全原因 我想避免用户重新打印不止一份软拷
  • 测试框架表示实体没有为内置实体定义键

    Castle Proxies IdentityUserLogin EntityType IdentityUserLogin has no key defined Define the key for this EntityType 我正在尝
  • 如何在 html5 canvas 中对齐文本?

    如何在 html5 画布中对齐文本以 对齐 在下面的代码中 文本可以左 右 中心对齐 我需要设置align justify 请建议如何做到这一点 HTML
  • 按更改类型过滤 git diff

    有没有办法限制git diff更改文件 我想查看两次提交之间的差异 但排除其中一个或另一个中不存在的路径 添加 删除 下面的 Perl 一行行说明了我想要的大部分内容 git diff master perl lnwe print unle
  • Spring Boot应用程序中环境特定的application.properties文件[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 在我的 Spring Boot 应用程序中 我想创建特定于环境的属性文件 我的应用程序在 war 中的打包类型 我正在嵌入式 tomcat 中执行它 我使用 sts 并从 sts
  • WiX ServiceInstall - 将服务设置为以当前 Windows 用户身份运行

    我正在使用 WiX 安装 Windows 服务 如何使服务在运行安装程序的 Windows 用户上下文中运行 您需要拥有要运行服务的用户的帐户名和密码 我通过向安装程序添加自定义 UI 来要求输入用户名和密码 然后使用 ServiceIns