我被分配了通过NAnt让我们的MSI建设的任务。如果我“有”,我将使用NAntContrib或WiX,但是给我这张票的时间并不能让我开始研究新的构建技术。这是我第一次与NAnt合作。
我们现有的解决方案是80个项目,6个服务(拥有自己的MSI安装项目)和少数几个网站。
构建脚本首先构建解决方案,然后开始将所有构建的库,文件,zip,配置复制到其特定位置,以便直接部署。唯一的问题是它不构建任何MSI文件。
Build框上安装了Visual Studio。从快速查看网络,我看到如果您安装了VS,那么运行deven.com可以构建MSI文件......
正在构建的解决方案包含服务的安装项目,但是没有创建MSI。是否有必须传入的特定设置/命令行参数才能完成此操作?
构建解决方案的XML如下所示。
$ builtype是“/ build”
<target name="BuildOnly" depends="ConfigureBuild">
<if test="${property::exists('Distribution') and Distribution == 'True'}" >
<call target="ConfigureBuild.Release"/>
</if>
<call target="StopServices"/>
<call target="CleanSUOFiles"/>
<!--<call target="BuildEnterpriseLibrary" />-->
<property name="build.dir" value="${directory::get-current-directory()}"/>
<echo message="######### ${buildtype} ${StandardProjectTarget}"/>
<exec program="${deven.com}" workingdir="${build.dir}" failonerror="true" commandline=""BC_HM.sln" ${buildtype} ${StandardProjectTarget}"/>
<call target="BuildSchematronFiles"/>
</target>
感谢。
答案 0 :(得分:1)
NAnt是一个构建工具,它与安装包没有任何关系。它构建项目,它不会自己生成文件。所以你需要一个生成MSI包的项目。
这可以通过多种方式创建:
请注意,创建安装包并非易事。因此,在选择之前,请分析所有设置创作工具。