【问题标题】:Deploy custom .NET Windows Service via Group Policy通过组策略部署自定义 .NET Windows 服务
【发布时间】:2011-02-10 22:08:27
【问题描述】:

我有一个打包到 MSI 的 Windows 服务,我想将它部署(无人值守)到多个工作站。

根据ServerFault上的以下问题:Installing MSI via Group Policy in a Fully Unattended Way你可以这样做,但问题是如何传递属性。我需要传递的唯一属性是主 SQL 数据库的连接字符串。

如何创建(使用 Visual Studio 2010)这样的带有 MSI 的 Windows 服务,可以通过组策略以完全无人值守的方式安装?

更新:不一定是组策略,如果可用,我们可以使用任何其他基于 Windows 的技术。

【问题讨论】:

  • 你运行的是什么服务器操作系统?
  • 各种基于 Windows 的操作系统:2003 R1/R2、2008 R1/R2...我们是 ISV,所以很难说。

标签: c# visual-studio-2010 windows-installer group-policy


【解决方案1】:

您不能将参数传递给通过组策略软件安装安装的 MSI 文件。不是直接的。支持的方式是创建 MSI 转换。在 Orca 中加载您的 MSI,创建新的转换,修改可用的参数并将其保存在 .mst 文件中。然后,当您在 GPO 中创建新的应用程序包时,使用“转换”选项卡来指定您创建的转换。

【讨论】:

    【解决方案2】:

    要安装服务,您可以使用ServiceInstallServiceControl 表:

    这是根据您在这些表格中设置的内容自动完成的。我不认为你可以在 Visual Studio 中配置它们,但你可以试试 WiX。

    【讨论】: