Search code examples
gitversion-controlinstallshield

What files in an InstallShield project are necessary to keep in source control?


We are moving our InstallShield projects into a GIT repository. Most of the projects are either Merge Module or InstallScript MSI projects. While inspecting the InstallScript MSI projects it appears that there are a number of binary files in the project directory, specifically "Setup.dbg", "Setup.inx", and "Setup.obs". What do these files do? What files in an InstallShield project need to be kept in source control? Since keeping binary files in GIT is a Very Bad Thing, we would like to avoid this if at all possible.


Solution

  • You'll only need to keep the .ism file. If you've written any InstallScript custom actions you'll need to keep the .rul files that those generate. I would suggest that you also make the .ism file a text file, not binary, so that you can compare and merge with git.

    You can always check which files are needed by making a copy of the .ism, different directory, and then trying to open and compile the install. The compile will complain about any missing files it needs. Just copy them from the original directory. Keep track of which files you had to copy and there's your list of files that need to be checked in.