cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
gareththegeek
Level 2

Installshield LE TFS Build succeeds but does not produce output

I have a solution in Visual Studio 2012 which contains multiple projects - a web application, some class libraries, a couple of database projects and an Installshield LE 2013 project.

If I build the solution for Release, locally, the ISLE project creates and outputs a setup.exe and associated msi etc. However, if I build the solution with Release configuration through TFS 2013 build automation, the build succeeds, produces outputs for all projects and drops them in the drop location with the exception of the ISLE project. No setup.exe and no .msi files are created on the build machine. The tail end of the build log is included below on Detailed mode:

I modified my islproj file to include an AfterGet target as suggested by This Post to avoid the -2200 error described there, and you can see this target in the log in case you are wondering why it's there...

How can I ask the build agent to actually compile my installer?

....omitted other projects build logging....

Task "MSBuild"
Global Properties:
Configuration=SingleImage
Platform=
BuildingSolutionFile=true
CurrentSolutionConfigurationContents=
Release|x86
Release|x86
Release|x86
Release|x86
Release|x86
SingleImage
Release|x86

SolutionDir=C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\
SolutionExt=.sln
SolutionFileName=PROJECTNAME.sln
SolutionName=PROJECTNAME
SolutionPath=C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\PROJECTNAME.sln
9>Project "C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\PROJECTNAME.Setup.Full\PROJECTNAME.Setup.Full.isproj.metaproj" (9) is building "C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\PROJECTNAME.Setup.Full\PROJECTNAME.Setup.Full.isproj" (10) on node 1 (default targets).
10>Building with tools version "3.5".
10>Target "AfterGet" in project "C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\PROJECTNAME.Setup.Full\PROJECTNAME.Setup.Full.isproj" (entry point):
Using "Exec" task from assembly "Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "Exec"
Command:
attrib -r "C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\PROJECTNAME.Setup.Full\PROJECTNAME.Setup.Full.isl"
Done executing task "Exec".
10>Done building target "AfterGet" in project "PROJECTNAME.Setup.Full.isproj".
10>Done Building Project "C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\PROJECTNAME.Setup.Full\PROJECTNAME.Setup.Full.isproj" (default targets).
9>Done executing task "MSBuild".
9>Done building target "Build" in project "PROJECTNAME.Setup.Full.isproj.metaproj".
9>Done Building Project "C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\PROJECTNAME.Setup.Full\PROJECTNAME.Setup.Full.isproj.metaproj" (default targets).
1>Done executing task "MSBuild".
1>Done building target "Build" in project "PROJECTNAME.sln".
1>Done Building Project "C:\Builds\1\PROJECTNAME\PROJECTNAME Release Build\src\PROJECTNAME\Trunk\PROJECTNAME\PROJECTNAME.sln" (default targets).

Build succeeded.
0 Warning(s)
0 Error(s)

Time Elapsed 00:02:02.06
0 Kudos
(3) Replies
jcoone
Level 6

Looks like it should have built in SingleImage configuration, which would produce only a setup.exe or an MSI file.

On a TFS build server, when an InstallShield project is built, normally these setup files are put into an INSTALL subdirectory in the drop location of the build (buried several directories deep under the INSTALL directory.)

Also verify that Configuration and Platform are both set to the expected values for the TFS build and that building in that configuration/platform combination locally does produce the installer files. Check this through the Solution "Configuration Manager"
0 Kudos
gareththegeek
Level 2

jcoone wrote:
Looks like it should have built in SingleImage configuration, which would produce only a setup.exe or an MSI file.

On a TFS build server, when an InstallShield project is built, normally these setup files are put into an INSTALL subdirectory in the drop location of the build (buried several directories deep under the INSTALL directory.)

Also verify that Configuration and Platform are both set to the expected values for the TFS build and that building in that configuration/platform combination locally does produce the installer files. Check this through the Solution "Configuration Manager"


There is no INSTALL subdirectory in the drop folder.
TFS build definition is using the Release build configuration.
Building locally For Release produces the single image setup.exe as expected.

The install shield project is set to build SingleImage configuration under the solution Release configuration. :confused:
0 Kudos
jcoone
Level 6

ok, building in Release is the Configuration, What is the platform it is compiling in? (Any CPU, x86, etc.) is it the same when you build locally and when you build on the build server?

these both can have an impact on how the installer is compiled.

I have looked at one of my build logs and there are some extra lines during the build of the installshield projects.

these entries deal with the creation of the initial build location directories for the installer and the copying of the files from the build location to the drop location.

Is Installshield LE installed and registered on your build server? TFS Build is kind of annoying in that the Installer Project can fail to build (or even be mapped for the definition) and the build will still register as a pass.


there is also the following portion of the build log that appears to be missing from yours.

9>Build:
InstallShield (R) Limited
Release Builder
Copyright (c) 2013 Flexera Software LLC.

All Rights Reserved.
0 Kudos