如何使用Installshield 2012和TFS2010/MSBuild进行构建?

如何使用Installshield 2012和TFS2010/MSBuild进行构建?,tfs,msbuild,installshield,Tfs,Msbuild,Installshield,我有一个解决方案,可以使用InstallShield构建安装程序。解决方案在当地奏效。现在,我已经将其签入到TFS2010的版本控制中,我想在构建所有其他解决方案之后构建InstallShield解决方案。 构建此解决方案的最佳方式是什么 将此解决方案作为众多解决方案之一集成到正常构建中,并作为最后一个解决方案进行构建?如何设置我在InstallShield解决方案中定义的特殊文件夹(pathvariables)(路径\u到\u APP1,路径\u到\u APP2)以查找要在设置中组合在一起的所

我有一个解决方案,可以使用InstallShield构建安装程序。解决方案在当地奏效。现在,我已经将其签入到TFS2010的版本控制中,我想在构建所有其他解决方案之后构建InstallShield解决方案。 构建此解决方案的最佳方式是什么

  • 将此解决方案作为众多解决方案之一集成到正常构建中,并作为最后一个解决方案进行构建?如何设置我在InstallShield解决方案中定义的特殊文件夹(pathvariables)(路径\u到\u APP1,路径\u到\u APP2)以查找要在设置中组合在一起的所有程序集

  • 或者,在生成所有其他解决方案之后,使用InstallShield解决方案通过命令行调用MSBuild.exe来扩展生成定义是否更好?但是如何设置调用MSBuild.exe的路径变量?是否每个路径变量都是MSBuild属性,我通过/p:path\u TO\u APP1=“xxx”设置它


  • 设置InstallShieldPathVariableOverrides项目组,或者如果您没有使用standard.isproj支持,请将您自己的项目组传递到

    如何做前者,看起来像这样。我相信他关于需要覆盖整个树的评论在IS2012中不再必要

    <ItemGroup>
      <InstallShieldPathVariableOverrides
          Include="((location))">
        <PathVariable>((PATH_VARIABLE_NAME))</PathVariable>
      </InstallShieldPathVariableOverrides>
    </ItemGroup>
    
    
    ((路径变量名称))
    
    执行此操作时,我必须验证为BuildServer选择的配置。。。因此,如果项目是在服务器上构建的,而不是在本地构建的,则只执行overide;这取决于它们是如何设置的。当然,您可以使您的位置依赖于某个属性,或者仅在满足某个条件(您可以通过指定另一个属性来调用该条件)时才添加到项目组。