使用WiX为ASP.Net MVC网站生成安装程序

Ant*_*ony 7 asp.net-mvc installer wix

有没有人用过WiX为ASP.Net MVC网站生成安装程序?您是从Web项目中收集文件的吗?我找不到任何好的例子.似乎没有记录的方法来包含所有正确的文件,只包含正确的文件并将它们放在正确的位置.

如果您在安装程序项目中添加网站项目作为参考,并harvest=True在属性中设置,则会捕获所有网站文件,但是存在以下问题:

  • 包括一些不应被复制的文件,例如packages.config,Web.Debug.config似乎没有任何明确或简单的方法来排除它们(根据本讨论).
  • .website dll文件位于根目录中的错误位置而不是bin文件夹(根据此讨论)

但是,如果你不使用收获,你手动引用很多文件(例如,\Content\单独我在5个文件夹中有58个文件.大多数是jQuery UI),它们会不时变化,错误和遗漏很容易从WiX文件列表中错过.所以它确实应该自动保持同步.

我不同意这样的想法,即文件列表应该在WiX中明确指定而不是动态生成(这似乎是在第一个链接上建议的,措辞不是很清楚).如果我需要删除一个文件,我将从源控制系统中删除,不需要做额外的工作来维护两个并行但不同的目录 - 源代码管理中的一组文件,以及WiX中列出的相同文件.应该有一个版本的事实.网站源代码树中的所有文件(具有某些已知的异常,例如在运行时未使用packages.config)应包含在部署中.

出于公司原因,我没有太多选择在这个项目中使用WiX

小智 4

在我们的 MVC 3 项目中,我们使用Paraffin来收集安装程序的文件。例如,可以使用“-ext”忽略扩展名为 的文件,使用“regExExclude”忽略与正则表达式匹配的文件名等。

Paraffin 还保持正确的结构,所有文件都将位于项目中出现的正确文件夹中。