【问题标题】:Building MSI through NAnt Build通过 NAnt Build 构建 MSI
【发布时间】:2011-10-21 18:45:44
【问题描述】:

我被分配了通过 NAnt 构建 MSI 的任务。如果我“必须”的话,我会使用 NAntContrib 或 WiX,但是给我这张票的时间并没有给我研究新构建技术的奢侈。这是我第一次与 NAnt 合作。

我们目前拥有的解决方案是 80 个项目、6 个服务(带有自己的 MSI 安装项目)和少数网站。

构建脚本首先构建解决方案,然后开始将所有构建的库、文件、zip、配置复制到它们的特定位置,以便直接进行部署。唯一的问题是它没有构建任何 MSI 文件。

构建框上安装了 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="&quot;BC_HM.sln&quot; ${buildtype} ${StandardProjectTarget}"/>

 <call target="BuildSchematronFiles"/>
</target> 

谢谢。

【问题讨论】:

    标签: windows-installer nant


    【解决方案1】:

    NAnt 是一个构建工具,它与安装包没有任何关系。它构建项目,它不会自行生成文件。所以你需要一个生成 MSI 包的项目。

    这可以通过多种方式创建:

    请注意,创建安装包并非易事。因此,在选择之前分析所有设置创作工具。

    【讨论】:

    • 我们正在调用 devenv.com 来构建安装程序。是的,不是最好的,但考虑到我的票的时间限制,我不会改变它。当我们转向更好的构建箱并摆脱巡航控制系统时,它会变得更好。但与此同时,devenv 并没有构建 msi。
    • devenv.com 构建 Visual Studio 项目,而不是安装包。安装程序不是自动创建的。您需要创建一个安装项目并构建它才能获得安装程序。你有安装项目吗?或者您是在随机构建项目,希望生成安装程序?
    • 我已经有了我的安装程序包、脚本和一切设置。但是,通过 NANT 运行我的 devenv.com 并不能构建它。我想我已经找到了解决方法,但需要看看它是否适用于我们的环境。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 2012-12-31
    相关资源
    最近更新 更多