MSBUILD不通过CruiseControl.NET生成MSI文件

时间:2010-09-02 12:21:56

标签: msbuild cruisecontrol.net

首先,我只是想说我不是开发人员或工程师。我只是一个糟糕的配置管理器,试图让CruiseControl构建一个VS2010 / .NET4.0 C#解决方案并生成MSI作为输出。我支持的工程师知道如何从他们的VS2010客户端创建这些MSI(当然),但不是很多地使用本质上是命令行选项。

我正在使用的CruiseControl'代码'如下。这没什么好聪明的。我只想从自动构建脚本创建这些MSI。我使用了生成MSI的DEVENV替代方案,但使用此方法还存在其他问题。

有人可以帮忙吗?

        C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ MSBuild.exe         d:\ SOFTWARE \ Test.root \测试\         Test.sln         / noconsolelogger / v:quiet / p:Configuration = Release; SafeMode = true         重建         C:\ Program Files \ CruiseControl.NET \ server \ ThoughtWorks.CruiseControl.MsBuild.dll         1800       

2 个答案:

答案 0 :(得分:2)

我们遇到了创建MSI的问题,因为MSBuild不支持.vdproj项目类型。我们最终使用NSIS来生产我们的安装程序,因为使用DEVENV方法意味着构建服务器上的VS2005 / 2008/2010的另一个许可证 - 不理想。

话虽如此,我最近在MS博客上偶然发现this post,后者又指向Sourceforge project called WIX,声称可以轻松创建MSI。我没有机会看到它,所以不能说出一种方式。

希望这有帮助。

答案 1 :(得分:2)

MSBuild就像ant,Nant一样,脚本语言可以自动化您的构建环境。 它不编译您的C#,.NET代码或不签入/签出您的源代码。 它只为您提供单个文件中的命令排序,以便进行上述操作。

像 1.从源代码编译中检查所有源代码 2.编译代码 3.捆绑文件以进行部署

从msbuild做第一个操作你将编写如下命令:svn checkout .....这样的事情。为此,你需要安装svn。 做第二件事你需要每种语言的编译器。例如,如果你使用c#,你需要在那个盒子上安装.net sdk。

你的问题 对于生成MSI的第三个问题,您需要相应的技术来做到这一点。 你可以做很多事。 ex WIX作为开源提供,您必须编写应该对所有安装工作(msi)的wix项目。

要执行上述操作,您可以在msbuild中编写脚本以自动执行。

希望你对自己的问题了解不多。 MSbuild用于构建环境的自动化。 用于生成MSI的Wix或installshield

thaks