Installshield template?

In our company we regularly create MSI's with Installshield(latest). These setups adhere to a set of rules and name schemes so they work with our deployment system and autobuilds etc.

Is there a way to eliminate the repetitive overhead of going through all the boilerplate stuff (setting the company meta data, basic folder structures, a few events, including some default helper files etc) for each setup?

preguntado el 08 de noviembre de 11 a las 12:11

2 Respuestas

Take a look at the InstallShield Automation interface. What I did was:

  1. Abstract all my components out into WiX Merge Modules ( could be IS merge modules though ).
  2. Create a base InstallShield project ( Common.ISM )
  3. Create XML files to describe my feature tree and product configurations
  4. Create Build Automation to reflect the XML and invoke the Automation Interface to "Emit" my installer source.
  5. Build the Product Config in the ISM.

This gave me a great deal of code reuse but it's not trivial to set up this type of system. However it scales very well and the advantages are huge if you have the right business needs.

respondido 10 nov., 11:12

definitely going to check this with our autobuild specialst. Indeed doesn't seem very easy, but could save us a lot of work and trouble. - Boris Callens

Ver I have a great deal of experience in this area and could help you design your system based on your needs. - Christopher pintor

Hay dos maneras de hacer esto:

  1. Save the ism file in xml format (there is a setting for this in the project settings). Then in run time, push the desired values with a new application that could be written (which will edit the XML file using DOM or so...)
  2. Use InstallShield Automation interface. This can be done using VBScript. You may check this link: InstallShield Automation Interface

respondido 10 nov., 11:10

Making raw edits to the ISM's XML is a real pain due to it's DTD format. Personally I use the IS Automation Interface first but it only has about 75%-80% coverage. I save the project in Binary format and then use Windows Installer Queries to manipulate the table data when needed. Also I use C# NAnt/MSBuild tasks and I make it all data driven through XML. For example when I want to create a new feature, instead of writing a VBScript to call ISWiProject.AddFeature() I write an XML file with a Feature Element and then C# code that uses LINQ queries to read the Feature Element and call AddFeature - Christopher pintor

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.