通过组策略部署自定义 .NET Windows 服务
我有一个打包到 MSI 的 Windows 服务,我想将其部署(无人值守)到多个工作站。
根据 ServerFault 上的以下问题: 通过组安装 MSI以完全无人值守的方式进行策略 你可以做到这一点,但问题是如何传递属性。我需要传递的唯一属性是主 SQL 数据库的连接字符串。
如何使用 MSI 创建(使用 Visual Studio 2010)这样一个可以通过组策略以完全无人值守的方式安装的 Windows 服务?
更新:它不一定是组策略,我们可以使用任何其他基于 Windows 的技术(如果可用)。
I have a Windows Service packaged to MSI that I would like to deploy (unattended) to a number of workstations.
According to the following question on ServerFault: Installing MSI via Group Policy in a Fully Unattended Way you can do that, but the problem is how to pass the properties. The only property I need to pass is the connection string to the main SQL database.
How can I create (with Visual Studio 2010) such a Windows service with MSI that can be installed via Group Policy in a fully unattended way?
UPDATE: It does not have to be Group Policy, we can use any other Windows based technology if available.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您无法将参数传递给通过组策略软件安装安装的 MSI 文件。不直接。支持的方法是创建 MSI 转换。在 Orca 中加载 MSI,创建新转换,修改可用参数并将其保存在 .mst 文件中。然后,当您在 GPO 中创建新的应用程序包时,使用“转换”选项卡指定您创建的转换。
You cannot pass in parameters to MSI files installed via Group Policy Software Installation. Not directly. The supported way is to create MSI transform. Load you MSI in Orca, create new transform, modify parameters that are available and save it in .mst file. Then when you create new application package in GPO, use Transforms tab to specify the transform you created.
要安装服务,您可以使用 ServiceInstall 和 ServiceControl 表:
这是根据您在这些表中设置的内容自动完成的。我认为您无法在 Visual Studio 中配置它们,但您可以尝试 WiX。
To install services you can use ServiceInstall and ServiceControl tables:
This is done automatically based on what you set in these tables. I don't think you can configure them in Visual Studio, but you can try WiX.