0

How do I integrate InstallShield/Wix/IsWix with TFS? I wish to auto generate setup files during successful TFS checkin/release?

I am comparing InstallShield with Wix and IsWix! to choose the right candidate for upcoming product development.

Tools Used

  • v.Next Builds
  • Team Foundation Version Control

Update from InstallShield support team

To integrate InstallShield with Team Foundation Server, install InstallShield on each machine that u want to be able to create, update, or build InstallShield projects.It should also be installed on a machine that is designated as a build agent for InstallShield projects that are stored in Team Foundation Server.

NOTE: The Standalone Build is a build engine that enables you to build InstallShield projects without installing the full version of InstallShield on a build machine.If you have the Standalone Build, you can install it on a machine that is designated as a build agent for Team Foundation Server."

Community
  • 1
  • 1
kudlatiger
  • 3,028
  • 8
  • 48
  • 98

2 Answers2

2

I have very limited experience with InstallShield, but I can advocate for WiX. Recently they added a no-install option that allows you to build WiX project by just adding a few files along to your sources.

WiX code is an XML dialect and it is simple to generate, but the simplest pattern is to write a Product and a Project file and let Heat generating the remaining code you need for a simple install.

Giulio Vian
  • 8,248
  • 2
  • 33
  • 41
  • 1
    I much prefer Wix to InstallShield. When I used InstallShield the licensing became a real headache to maintain. With Wix you don't have to worry about the licensing, and it very powerful. You can easily customise it with your own CustomActions (written in C# etc). – Polyfun Feb 21 '18 at 09:28
  • where I can find step by step article ? it's help if it covers continuous integration with Wix – kudlatiger Feb 21 '18 at 09:51
  • 1
    I already linked a couple of pages from WiX documentation which is pretty extensive. I suggest you to refine your original question or submit a new, more specific, one. – Giulio Vian Feb 21 '18 at 13:30
1

At a high level you need to create an .ISPROJ (MSbuild ) and .SLN for your .ISM. In the ISPROJ you'll want to write some code to regex parse the build number and generate a random ProductCode for major upgrades.

You'll add a build vs sln step to your build and tell it to use 32bit MSBuild (InstallShield doesn't support 64bit).

https://learn.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=batch

http://helpnet.installshield.com/installshield22helplib/helplibrary/MSBuild.htm

You'll need an on-prem build server and install the InstallShield Stand Alone Build engine one it. I'd go ahead and install the Automation Interface also as you don't know when you'll need it some day.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100