cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jpadilla
Level 5

Questions about command line builds

First off if this is not the place to ask apologies. My company recently upgraded to TFS 2012. Previously we were using setup projects within our solutions to build out our msi's. 2012 no longer supports our previous method and gave us a link to Install Shield. The version we are trying is the 2012 Spring Limited Edition. From within visual studio things are working fine for the most part inside of TFS (minus a random com removal error that we have to run TFS in admin mode for). However we previously used nant and some build scripts to do our daily builds. One of our solutions (the same one with the com problem) gives me the following errors when I build via my scripts.

[msbuild] "C:\ALPHATFS\ExternalInterfaces\ExternalInterfaces.sln" (default target) (1) ->
[msbuild] "C:\ALPHATFS\ExternalInterfaces\RandomServiceInstaller2\RandomServiceInstaller2.isproj" (default target) (13) ->
[msbuild] (Build target) ->
[msbuild] C:\Program Files (x86)\MSBuild\InstallShield\2012SpringLimited\InstallShield.targets(96,3): error : Failed to load ISWIBuild: -2147221164
[msbuild] C:\Program Files (x86)\MSBuild\InstallShield\2012SpringLimited\InstallShield.targets(96,3): error : Exception Caught
[msbuild]
[msbuild]
[msbuild] "C:\ALPHATFS\ExternalInterfaces\ExternalInterfaces.sln" (default target) (1) ->
[msbuild] "C:\ALPHATFS\ExternalInterfaces\RandomServiceInstaller3\RandomServiceInstaller3.isproj" (default target) (14) ->
[msbuild] C:\Program Files (x86)\MSBuild\InstallShield\2012SpringLimited\InstallShield.targets(96,3): error : Failed to load ISWIBuild: -2147221164
[msbuild] C:\Program Files (x86)\MSBuild\InstallShield\2012SpringLimited\InstallShield.targets(96,3): error : Exception Caught

I did find a thread on these forums that this was most likely due to the fact that I already built one installer in the solution and that the dll was still in memory. I have no problems removing them from the build manager and building them separately one at a time, but I can't seem to find a way to build the isproj files from the command line. I found mention of a ISCmdBLd.exe but I can't find that anywhere on my machine. Is that only available with a different version of Install Shield? Is there a work around that I can use?

Sorry for what may be the information overload, just wanted to try to give as many details as possible.
Labels (1)
0 Kudos
(7) Replies
phill_mn
Level 7

Batch file commands for IS2012 Spring Premier work like this. I believe the same support is in Professional. There is also an automation interface that you can write code to.

:: path to InstallShield system folder
set APP_PATH=C:\Program Files (x86)\InstallShield\2012Spring\System
:: path to location of the validation files
set VAL_PATH=C:\Program Files (x86)\InstallShield\2012Spring\Support

call "%APP_PATH%\ISCmdBld.exe" -v -p %PROJECT_ROOT_DIR%\%PROJECTDIR%\%RELEASE%.ism -r "release" -a "release"
0 Kudos
jpadilla
Level 5

I don't have Premier, I have no ISCmdBld.exe anywhere on my machine, and I can only find isl files, no ism files.
0 Kudos
phill_mn
Level 7

The .ism file is the project file, so I assume that .isl is specific to the the 'limited edition', which from Flexera's web site does not appear to support command line builds. I have not used that edition.

http://www.flexerasoftware.com/products/installshield/editions.htm
0 Kudos
jpadilla
Level 5

yeah that was my concern. Thanks.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Does your InstallShield.targets file (C:\Program Files (x86)\MSBuild\InstallShield\2012SpringLimited\InstallShield.targets) have the correct value populated for the InstallShieldPath property? It should point to the ISLE system folder, probably something like this:
C:\Program Files (x86)\InstallShield\2012SpringLE\System
This (and equivalents with slightly different paths for other editions of our product) is required for MSBuild to work.
0 Kudos
jpadilla
Level 5

MichaelU wrote:
Does your InstallShield.targets file (C:\Program Files (x86)\MSBuild\InstallShield\2012SpringLimited\InstallShield.targets) have the correct value populated for the InstallShieldPath property? It should point to the ISLE system folder, probably something like this:
C:\Program Files (x86)\InstallShield\2012SpringLE\System
This (and equivalents with slightly different paths for other editions of our product) is required for MSBuild to work.


Yup that is there correct. I was just hoping I overlooked something and I would be able to do command line builds with the version I had, which it seems I can not.
0 Kudos
DebbieL
Level 17

No, the Limited edition does not have support for building with ISCmdBld.exe.

The "Upgrading to the Premier, Professional, or Express Editions of InstallShield" help topic in the InstallShield Limited Edition help library that is installed with the Limited edition contains a list of functionality that is available in various editions of InstallShield. One of the bullet points says this:
Command-line build support—The Limited edition lets you build releases from the command line using MSBuild. The Premier, Professional, and Express editions of InstallShield also let you do that; in addition, these three editions let you build a release at the command line using ISCmdBuild.exe, a command-line tool that lets you pass simple parameters for configuring various build-time settings.
0 Kudos