2010-09-02 37 views
1

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

我使用的CruiseControl'code'如下。这不是很聪明。我只想从一个自动构建脚本创建这些MSI。我使用了生成MSI的DEVENV替代方案,但使用此方法还存在其他问题。

任何人都可以请帮忙吗?

C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ MSBuild.exe d:\ SOFTWARE \ Test.root \测试\ Test.sln /noconsolelogger/V:安静/ P:配置=释放;安全模式=真 重建 C:\ Program Files文件\ CruiseControl.NET \服务器\ ThoughtWorks.CruiseControl.MsBuild.dll

+0

只是可以肯定,你使用的CruiseControl或CruiseControl.Net?如果使用CC。网络,你可以请你发布你的项目配置?可以肯定的是你不能通过MSBuild生成MSI,你说你使用devenv,但是你提供的代码使用MSBuild ... – 2010-10-20 08:37:17

回答

2

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

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

希望这会有所帮助。

2

MSBuild就像Ant,Nant一样可以使脚本语言自动化您的编译环境。它不会编译您的C#,.NET代码或不检查/签出您的源代码。 它只为您提供单个文件中用于执行上述操作的命令的排序。

像 1.checkout来自源的所有源代码编译 2.编译代码 3.捆绑文件进行部署

先做操作MSBuild中,你会写这样的命令:svn签.. ...这样的事情。为此你需要安装svn。 做第二件事你需要编译器为每种语言。如果你使用c#,你需要安装在该盒子上的.net sdk。

你的问题 对于产生MSI的第三个问题,你需要相应的技术来做到这一点。 你可以做很多方法。前WIX是可用的开源,你必须编写wix项目,应该对所有安装工作(MSI)。

要做上面的操作你可以在msbuild中写脚本来自动化。

希望你可能对你的问题了解甚少。 MSbuild适用于构建环境的自动化。 维克斯或InstallShield生成MSI

thaks

相关问题