我正在使用Installshield和TFS(VSTS 2008),现在我想构建Installshield 2011项目以及构建定义。
为此,我创建了build.proj文件,其中包含用于构建.sln项目的构建定义,这些项目工作正常。
现在在Build定义文件的末尾,我添加了这样的内容:
<Target Name="AfterCompile">
我添加了Installshield项目的引用,以便在构建Visual Studio项目之后开始构建Installshield项目:
<Exec Command=""$(DevEnvDir)\Common7\IDE\devenv" 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构建配置的新手。
答案 0 :(得分:1)
我们使用这样的东西:
Command=""%programfiles%\Microsoft Visual Studio 8\Common7\IDE\devenv" ..."
这会对你有用吗?
- 编辑 -
我想到的另一个想法是建议您考虑使用WIX而不是InstallShield。 WIX项目在MSBuild中工作得非常好。
答案 1 :(得分:1)
我无法想到您的InstallShield项目的路径应该像您的问题中出现的那样硬编码的任何正当理由。
您可以使用MSBuild从命令行构建* .isproj文件吗?如果是这样,那么您可以将其添加到您的解决方案中,并将其设置为仅构建您在TFS构建中使用的新解决方案配置。