Msbuild 生成放置路径上WiX输出中的Make文件夹

Msbuild 生成放置路径上WiX输出中的Make文件夹,msbuild,wix,tfsbuild,votive,Msbuild,Wix,Tfsbuild,Votive,我有一个关于WiX的问题。但让我先描述一下我的情况: 我有一个VS2010解决方案,并添加了一个WiX(Voctive)项目来进行设置。我正在TFS构建服务器上构建此设置。不幸的是,我所有的文件(*.dll、*.sql、*.msi、*.where)都被盲目地复制到同一个输出路径中!我已将带有移动任务的msbuild目标添加到Setup.csproj文件中,以将msi、bat和sql文件移动到单独的文件夹中,但不幸的是,这在TFS Build上不起作用 以下是问题(imho): 我在还愿诗中所做的

我有一个关于WiX的问题。但让我先描述一下我的情况: 我有一个VS2010解决方案,并添加了一个WiX(Voctive)项目来进行设置。我正在TFS构建服务器上构建此设置。不幸的是,我所有的文件(*.dll、*.sql、*.msi、*.where)都被盲目地复制到同一个输出路径中!我已将带有移动任务的msbuild目标添加到Setup.csproj文件中,以将msi、bat和sql文件移动到单独的文件夹中,但不幸的是,这在TFS Build上不起作用

以下是问题(imho): 我在还愿诗中所做的是一个提前的阶段。我可以创建文件夹并移动文件,但在TFS随机获取所有二进制文件并将它们放入放置位置之前,我在csproj文件中写入的内容就完成了

我如何试图解决:

  • 我在wix2010.targets文件中搜索了move或copy命令。他被移到了建筑工地,但我没能找到
  • 我查看了构建过程模板,但对语言或语法一无所知。这有什么关系吗
  • 在Build Defaults中的Build Definition中,有一个复选框“This Build copies output files to a drop folder”(此版本将输出文件复制到放置文件夹),我必须在其中添加放置位置。这里有什么我可以改变的吗
  • 我的问题: 如何使用WiX安装文件创建子文件夹,并在TFS构建中将某些文件移动到其中

    我希望你能帮忙!
    提前谢谢

    如果您只需要移动文件以便安装程序知道从何处获取它们,那么另一种方法是向安装程序添加一个config.wxi文件,该文件指向源文件的位置。你可以阅读更多关于这方面的内容。尽管使用这种方法,您可能必须在安装程序编译时修改config.wxi,以指向新的生成位置或删除位置。如果您熟悉MSBuild,则有一些工具可以帮助您轻松修改WiX.wxi文件。您也可以编写自己的脚本来执行此操作,但无论哪种方式,您都必须从运行生成的生成定义启动脚本或生成任务


    如果您正在使用Team Build 2010,并且只想在构建过程中复制文件和文件夹,则需要修改运行构建过程的.xaml Team Build定义。Ewald Hofman在上写了一个优秀的系列。

    我不确定我是否理解你的问题,但我认为你在抱怨你的DLL/EXE/et all和MSI都被归档在一个目录中。是的,我也不喜欢这个

    我所做的是创建称为应用程序、合并模块和设置的解决方案平台。然后我告诉TFS构建:

    发布|应用程序 发布|合并模块(选项,您可能没有任何要构建的模块) 释放|设置

    这将导致我的所有DLL/EXE/内容归档到\Application\Release,我的所有合并模块归档到\merge Module\Release,我的MSI归档到\Setup\Release

    这对我很有效