我使用 Visual Studio 2012 开发了一个包含 Windows 服务的解决方案。VS 2012 删除了创建安装程序的功能,因此我使用了一个很好地集成到 Visual Studio 中的用于安装程序生成的第 3 方工具 (WiX)。
我的问题是,虽然 WiX 能够安装具有自动启动/停止类型的服务,但它无法安装在启动时启动的服务。
我已经阅读了许多关于为非管理员用户启动和停止服务的文章,但是对于使用带有“net start myservice”的批处理脚本是否真的适用于非管理员用户似乎有些困惑。我不愿意尝试提升指定用户对指定服务的权限之类的事情,因为它需要适用于任何安装应用程序套件的用户。同样,我不愿意弄乱组策略,因为:
a) 项目需要由简单的安装程序安装,而用户不必摆弄类似的东西 b) 目标机器上的任何用户都需要能够启动服务
所以我的问题是:
- 是否有一种不错的、简单的、保证为非管理员用户工作的方式来启动服务?
- 是否有另一种方法可以为能够在启动时启动服务的 Windows 服务创建安装程序?
- 是否有可以作为安装程序的一部分运行的批处理脚本或其他一些构建后操作,以使服务在启动时启动?
任何其他有关如何解决此问题的建议将不胜感激。