我知道有很多关于这个相同信息的问题。我已经阅读了所有内容,但是我的大脑都转过身来,我不知道要走哪条路。另外缺乏文档真的很痛苦。WIX MSBuild自动化帮助 - 解决方案最佳实践
这是我的scenerio。我们正在尝试使用WIX为我们的应用程序创建一个安装程序,以便我们的产品信息发送给我们的经销商。该应用程序包括大约2000个图像和我们产品的文档以及通过Microsoft Sync Framework更新的SQL CE数据库。数据变化频繁,以至于将这些2000作为内容文件保存在应用程序的项目中是非常不可取的。该应用程序依赖于.NET Framework 3.5 SP1,SQL Server CE 3.5,Microsoft Sync Framework 1.0和ADO.NET Sync Services 2.0。
以下是该应用的要求:
- 的经销商每年都会给出一个CD上的应用程序进行任何更新(应用程序或数据更新)。
- 该应用程序必须从互联网更新自己,以获取任何新的图像,文件或数据。
- 如果客户端计算机上不存在先决条件,则必须先安装这些先决条件。
- 完整的安装程序应该通过尽可能少的人为交互(我们不希望手动更新2000+文件列表)从MSBuild脚本生成。
到目前为止我们已经完成的工作是我们的解决方案中有Votive项目。我们已经在.wxs文件中手动指定了二进制文件。 Web已修改.wixproj文件以使用HeatDirectory任务从指定位置收集我们的数据(图像和文档和数据库)(这被破坏并发出ICE38错误)。这似乎是好的,但仍然是很多工作。我们必须通过在发布模式下运行程序并将其复制到指定的目录来手动更新数据。
我期待看到其他人会在这种情况下做什么。
- 您如何安排您的解决方案关于2000+数据文件?你会创建一个自定义的构建脚本,从服务器获取当前数据,还是将它们作为内容文件包含在主项目中?
- 如何让WIX包含所有项目输出(包括引用的程序集)和所有数据文件?如果你有任何完整的样本,那就太好了。我发现的所有东西都是小片段,从头到尾都没有一个完整的例子。
- 您将如何处理版本号?你会把它们作为一个常量在构建脚本中并通过$(var.VersionNumberName)引用它们吗?您是否会从正在部署的项目中自动获取版本号?如果是这样,怎么样?
如果有比我发现的更好的信息,请包括。我已阅读过大量文章,博客,Stackoverflow问题,tuturial,wiki等等。一切似乎都是零碎的。该教程很好,但没有解释任何关于MSBuild和Votive。我希望看到有关使用MSBuild和Votive以及所有WIX MSBuild目标的教程。如果没有人知道这样的教程,我可以把它们放在一起。我已经花了整整一周的时间收集信息和阅读。我也是MSBuild的新手,所以如果任何人在MSBuild上有很棒的文章,请包括他们。
什么版本VS在您的构建机器上(或者是您的TFS)。这影响了MSBuild和Votive作品。你使用的是WiX2还是3? – JasonRShaver 2009-07-24 22:00:08