Wix是否是用于以编程方式创建此Windows服务安装程序的正确技术?

时间:2015-04-03 13:48:08

标签: c# windows-services wix installer

我有3个组件,全部用C#或JS构建:代理,应用服务器和网站。

这是应用程序的操作。用户访问该网站并将代理安装程序下载到他们的计算机。此代理安装程序必须安装由用户的唯一ID标识的代理。用户将unique-user-ID代理安装到他们的计算机上。 unique-user-ID代理作为Windows服务安装,并将数据报告给应用服务器,应用服务器将数据提供给网站供用户查看。

我需要以编程方式创建unique-user-ID代理安装程序。我想我可以通过在进入代理安装程序之前更改配置文件来完成此操作。我可以将所有dll,配置文件等放在文件夹中。当用户想要下载代理时,我会记录请求用户的唯一ID,将其放入配置文件,然后使用编辑过的配置文件创建安装程序。

我的问题是:

  1. Wix是否允许我为Windows服务创建安装程序?
  2. 我可以使用Wix编程安装程序的时间和内容吗?

2 个答案:

答案 0 :(得分:2)

我在CodePlex上维护了一个名为Industrial Strength Windows Installer XML(IsWiX)的开源项目。

Windows Installer非常适合安装Windows服务。 WiX可以创建Windows Installer数据库,但XML可能需要一段时间才能学习。这就是IsWiX进入故事的地方。

IsWiX提供多项目解决方案模板,作为脚手架处理设置开发人员可能拥有的大多数初始决策。然后它提供图形设计器,允许您执行诸如拖放文件和定义服务之类的操作。

一旦您的安装程序变得更加复杂,IsWiX就可以手动处理简单的开始编码WiX XML。

我在You Tube上有一段视频演示:

1)在C#/。NET(40秒)中创建Windows服务

2)使用WiX / IsWiX创建Windows Installer程序包(53秒)

3)安装MSI,测试,卸载,测试(43秒)

总计需要2分17秒。我不知道世界上任何其他快速的工具。我有类似WPF / Winforms桌面应用程序和IIS / ASP.NET Web应用程序的故事。

您可以看到视频here

答案 1 :(得分:1)

  1. 有关安装Windows服务的wix安装程序的示例,您可以查看Chris Schiffhauer撰写的这篇文章 - http://www.schiffhauer.com/wix-template-for-installing-a-windows-service/