有人使用MsBuild进行安装吗?

有人使用MsBuild进行安装吗?,msbuild,installation,cruisecontrol.net,Msbuild,Installation,Cruisecontrol.net,我注意到诸如和之类的项目赋予msbuild安装程序集、sql和安装IIS的能力。这些功能似乎是面向安装而不是构建的 所以我想知道有多少人在使用msbuild,可能是与Cruise Control.Net一起在登台环境上进行安装?我使用msbuild进行构建,构建过程的一部分运行Wix来创建安装程序(MSI)用于部署到生产环境。我们使用CC.NET和MSBuild进行构建,然后发布到我们的开发和阶段环境,但是我们没有在CruiseControl.NET上进行实时推送,我们手动运行该MSBuild。

我注意到诸如和之类的项目赋予msbuild安装程序集、sql和安装IIS的能力。这些功能似乎是面向安装而不是构建的


所以我想知道有多少人在使用msbuild,可能是与Cruise Control.Net一起在登台环境上进行安装?

我使用msbuild进行构建,构建过程的一部分运行Wix来创建安装程序(MSI)用于部署到生产环境。

我们使用CC.NET和MSBuild进行构建,然后发布到我们的开发和阶段环境,但是我们没有在CruiseControl.NET上进行实时推送,我们手动运行该MSBuild。我们只是觉得用一个按钮来发布live是一种诱人的方式;)可能需要2到3次修改才能正确设置MSBuild。但是现在所有内容都在一个文件中,并且所有内容都基于目标和属性来完成所有工作。大约6个月前,应该是最后一次更新,这是一次多服务器推送,因此我们准备扩大规模。我们现在可以将任何部件组合推送到任何服务器组合。因此,如果我们想要5台数据库服务器、3台contenet服务器和2台web服务器,我们就具备了这种能力。不需要使用其他任何东西。MSBuild可以做到这一点。

我使用MSBuild构建一个相当大的客户机/服务器应用程序。我使用InstallShield 2008创建一个单独的客户端和服务器安装集

通过将自定义目标添加到构建过程中,您可以将安装程序的创建合并到构建中


我建议您在尝试集成构建和安装程序之前,分别创建和测试构建和安装程序。

我创建了一个部署系统,中央协调器可以:

- identify the right target server for a given component (e.g Windows service goes to a given server, web services go to another, etc.)
- perform a PsExec of a deployment MSBuild script on the target server
- the deployment MSBuild script is responsible for:
    a) downloading the right component package (in my case a .zip)
    b) backing up previous versions of the component
    c) extracting the package to the right place
    d) tailoring the installation steps to the type of component to deploy (e.g. needs to perform an Exec task of installutil.exe on a Windows service )
    e) logging the result of the deployment
该系统使用以下组合构建:

- core MSBuild tasks
- [Tigris MSBuild community tasks][1]
- [MS SDC tasks][2]
- and custom tasks

该系统允许我们在由虚拟服务器组成的分区环境(如开发、质量保证、用户体验等)中执行复杂应用的一致部署。

我用msbuild编写了一个不同目标环境的模板配置示例:

我知道这是一个老问题。。。但是

我当前正在将MSBuild与MSBuild扩展包一起使用(http://msbuildextensionpack.codeplex.com)来完成我的整个部署。数据库部分由VS数据库命令行工具(vsdbcmd.exe-)处理。这个扩展包非常棒,它让我可以构建网站、应用程序池、Windows服务、更新配置等等


我还将TeamCity代理放在测试服务器上,因此可以作为构建链的一部分进行部署(在TeamCity版本7中引入)。从TeamCity运行部署MSBuild脚本非常简单。

我以前使用MSBuild,现在使用PowerShell。MSBuild是一种生成语言。写剧本很痛苦。有很多我想做的事情是困难的,有时是不可能的

在过去的一年中,我创建了一个与MSBuild扩展包相当的PowerShell模块,名为


我强烈建议大家学习和使用PowerShell。

您是否在登台环境中运行CC.Net?不是在登台环境中,而是使用MSBuild发布到登台环境中。您只是发布一个网站,还是需要安装gac或执行其他操作?我需要发布网站、安装服务、gac、,注册com+时,我正在考虑将CC.Net放在临时服务器上。但是,我从未听说有人使用cc.net+msbuild进行安装。这对我来说很有意义,也许我只是一个开拓者?我们更新数据库,发布网站,安装一些服务,我们使用MSBuild完成所有这些。感谢分享您的工作,很多构建大师都会发现它很有用!