使用TFS构建构建Installshield项目

时间:2010-12-09 09:37:57

标签: tfs tfs2008

我正在使用Installshield和TFS(VSTS 2008),现在我想构建Installshield 2011项目以及构建定义。

为此,我创建了build.proj文件,其中包含用于构建.sln项目的构建定义,这些项目工作正常。

现在在Build定义文件的末尾,我添加了这样的内容:

<Target Name="AfterCompile">   

我添加了Installshield项目的引用,以便在构建Visual Studio项目之后开始构建Installshield项目:

<Exec Command="&quot;$(DevEnvDir)\Common7\IDE\devenv&quot; E:\Sw\Manual_Build_TFS_R3\Setup.isproj /Build"/>

之前我在 DevEnvDir 的地方使用 VSINSTALLDIR 仍然会出现错误

Task "Exec"
  Command:
  "\Common7\IDE\devenv" E:\Sw\Manual_Build_TFS_R3\Setup.isproj /Build
  The system cannot find the path specified.
E:\BuildSource\Temp\BuildType\TFSBuild.proj(444,5): error MSB3073: The command ""\Common7\IDE\devenv" E:\Sw\Manual_Build_TFS_R3\Setup.isproj /Build" exited with code 3.
Done executing task "Exec" -- FAILED.
Done building target "AfterCompile" in project "TFSBuild.proj" -- FAILED.
Done Building Project "E:\BuildSource\Temp\BuildType\TFSBuild.proj" (EndToEndIteration target(s)) -- FAILED.

Build FAILED.

"E:\BuildSource\Temp\BuildType\TFSBuild.proj" (EndToEndIteration target) (1) ->
(AfterCompile target) -> 
  E:\BuildSource\Temp\BuildType\TFSBuild.proj(444,5): error MSB3073: The command ""\Common7\IDE\devenv" E:\Sw\Manual_Build_TFS_R3\Setup.isproj /Build" exited with code 3.

    0 Warning(s)
    1 Error(s)

我是VSTS和TFS构建配置的新手。

2 个答案:

答案 0 :(得分:1)

我们使用这样的东西:

Command="&quot;%programfiles%\Microsoft Visual Studio 8\Common7\IDE\devenv&quot; ..."

这会对你有用吗?

- 编辑 -

我想到的另一个想法是建议您考虑使用WIX而不是InstallShield。 WIX项目在MSBuild中工作得非常好。

答案 1 :(得分:1)

我无法想到您的InstallShield项目的路径应该像您的问题中出现的那样硬编码的任何正当理由。

您可以使用MSBuild从命令行构建* .isproj文件吗?如果是这样,那么您可以将其添加到您的解决方案中,并将其设置为仅构建您在TFS构建中使用的新解决方案配置。